home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Languages / RLaB 1.18c / manual / rail.sty < prev    next >
LaTeX Document  |  1994-04-27  |  19.7 KB  |  [TEXT/ttxt]

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: LaTeX Document (document/latex).

You can browse this item here: rail.sty

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert LaTeX Document (document/latex) magic Supported
1% dexvert DirectMusic Style (music/directMusicStyle) ext Unsupported
1% dexvert Microsoft Word Style Sheet (other/microsoftWordStyleSheet) ext Unsupported
1% dexvert KORG File (other/korgFile) ext Unsupported
1% dexvert Text File (text/txt) fallback Supported
100% file LaTeX document text default
99% file LaTeX auxiliary file, ASCII text, with CR line terminators default
100% checkBytes Printable ASCII default
100% perlTextCheck Likely Text (Perl) default
100% siegfried fmt/281 LaTeX (Subdocument) default
100% detectItEasy Format: plain text[CR] default (weak)


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[ttxt]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 25 20 72 61 69 6c 2e 73 | 74 79 20 2d 20 73 74 79 |% rail.s|ty - sty|
|00000010| 6c 65 20 66 69 6c 65 20 | 74 6f 20 73 75 70 70 6f |le file |to suppo|
|00000020| 72 74 20 72 61 69 6c 72 | 6f 61 64 20 64 69 61 67 |rt railr|oad diag|
|00000030| 72 61 6d 73 0d 25 0d 25 | 20 30 39 2d 4a 75 6c 2d |rams.%.%| 09-Jul-|
|00000040| 39 30 20 4c 2e 20 52 6f | 6f 69 6a 61 6b 6b 65 72 |90 L. Ro|oijakker|
|00000050| 73 0d 25 20 30 38 2d 4f | 63 74 2d 39 30 20 4c 2e |s.% 08-O|ct-90 L.|
|00000060| 20 52 6f 6f 69 6a 61 6b | 6b 65 72 73 09 66 69 78 | Rooijak|kers.fix|
|00000070| 65 64 20 63 65 6e 74 65 | 72 69 6e 67 20 62 75 67 |ed cente|ring bug|
|00000080| 20 77 68 65 6e 20 5c 72 | 61 69 6c 40 74 6d 70 63 | when \r|ail@tmpc|
|00000090| 3c 30 2e 0d 25 20 30 37 | 2d 46 65 62 2d 39 31 20 |<0..% 07|-Feb-91 |
|000000a0| 4c 2e 20 52 6f 6f 69 6a | 61 6b 6b 65 72 73 09 61 |L. Rooij|akkers.a|
|000000b0| 64 64 65 64 20 5c 72 61 | 69 6c 6f 70 74 69 6f 6e |dded \ra|iloption|
|000000c0| 73 20 63 6f 6d 6d 61 6e | 64 2c 20 69 6e 64 65 78 |s comman|d, index|
|000000d0| 69 6e 67 0d 25 20 30 38 | 2d 46 65 62 2d 39 31 20 |ing.% 08|-Feb-91 |
|000000e0| 4c 2e 20 52 6f 6f 69 6a | 61 6b 6b 65 72 73 09 6d |L. Rooij|akkers.m|
|000000f0| 69 6e 6f 72 20 66 69 78 | 65 73 0d 25 0d 25 20 54 |inor fix|es.%.% T|
|00000100| 68 69 73 20 73 74 79 6c | 65 20 66 69 6c 65 20 6e |his styl|e file n|
|00000110| 65 65 64 73 20 74 6f 20 | 62 65 20 75 73 65 64 20 |eeds to |be used |
|00000120| 69 6e 20 63 6f 6e 6a 75 | 6e 63 74 69 6f 6e 20 77 |in conju|nction w|
|00000130| 69 74 68 20 74 68 65 20 | 27 72 61 69 6c 27 0d 25 |ith the |'rail'.%|
|00000140| 20 70 72 6f 67 72 61 6d | 2e 20 52 75 6e 6e 69 6e | program|. Runnin|
|00000150| 67 20 4c 61 54 65 58 20 | 61 73 20 27 6c 61 74 65 |g LaTeX |as 'late|
|00000160| 78 20 66 69 6c 65 27 20 | 70 72 6f 64 75 63 65 73 |x file' |produces|
|00000170| 20 66 69 6c 65 2e 72 61 | 69 2c 20 77 68 69 63 68 | file.ra|i, which|
|00000180| 20 73 68 6f 75 6c 64 20 | 62 65 0d 25 20 70 72 6f | should |be.% pro|
|00000190| 63 65 73 73 65 64 20 62 | 79 20 52 61 69 6c 20 77 |cessed b|y Rail w|
|000001a0| 69 74 68 20 27 72 61 69 | 6c 20 66 69 6c 65 27 2e |ith 'rai|l file'.|
|000001b0| 20 54 68 69 73 20 70 72 | 6f 64 75 63 65 73 20 66 | This pr|oduces f|
|000001c0| 69 6c 65 2e 72 61 6f 2c | 20 77 68 69 63 68 20 77 |ile.rao,| which w|
|000001d0| 69 6c 6c 0d 25 20 62 65 | 20 70 69 63 6b 65 64 20 |ill.% be| picked |
|000001e0| 75 70 20 62 79 20 4c 61 | 54 65 58 20 6f 6e 20 74 |up by La|TeX on t|
|000001f0| 68 65 20 6e 65 78 74 20 | 27 6c 61 74 65 78 20 66 |he next |'latex f|
|00000200| 69 6c 65 27 20 72 75 6e | 2e 0d 25 0d 25 20 4c 61 |ile' run|..%.% La|
|00000210| 54 65 58 20 77 69 6c 6c | 20 77 61 72 6e 20 69 66 |TeX will| warn if|
|00000220| 20 74 68 65 72 65 20 69 | 73 20 6e 6f 20 66 69 6c | there i|s no fil|
|00000230| 65 2e 72 61 6f 20 6f 72 | 20 69 74 27 73 20 6f 75 |e.rao or| it's ou|
|00000240| 74 20 6f 66 20 64 61 74 | 65 2e 0d 25 0d 25 20 54 |t of dat|e..%.% T|
|00000250| 68 65 20 6d 61 63 72 6f | 73 20 69 6e 20 74 68 69 |he macro|s in thi|
|00000260| 73 20 66 69 6c 65 20 74 | 68 75 73 20 63 6f 6e 73 |s file t|hus cons|
|00000270| 69 73 74 20 6f 66 20 74 | 77 6f 20 70 61 72 74 73 |ist of t|wo parts|
|00000280| 3a 20 74 68 6f 73 65 20 | 74 68 61 74 20 72 65 61 |: those |that rea|
|00000290| 64 20 61 6e 64 0d 25 20 | 77 72 69 74 65 20 74 68 |d and.% |write th|
|000002a0| 65 20 2e 72 61 69 20 61 | 6e 64 20 2e 72 61 6f 20 |e .rai a|nd .rao |
|000002b0| 66 69 6c 65 73 2c 20 61 | 6e 64 20 74 68 6f 73 65 |files, a|nd those|
|000002c0| 20 74 68 61 74 20 64 6f | 20 74 68 65 20 61 63 74 | that do| the act|
|000002d0| 75 61 6c 20 66 6f 72 6d | 61 74 74 69 6e 67 0d 25 |ual form|atting.%|
|000002e0| 20 6f 66 20 74 68 65 20 | 72 61 69 6c 72 6f 61 64 | of the |railroad|
|000002f0| 20 64 69 61 67 72 61 6d | 73 2e 0d 0d 25 20 72 61 | diagram|s...% ra|
|00000300| 69 6c 72 6f 61 64 20 72 | 65 61 64 2f 77 72 69 74 |ilroad r|ead/writ|
|00000310| 65 20 6d 61 63 72 6f 73 | 0d 25 0d 25 20 5c 62 65 |e macros|.%.% \be|
|00000320| 67 69 6e 7b 72 61 69 6c | 7d 20 54 45 58 54 20 5c |gin{rail|} TEXT \|
|00000330| 65 6e 64 7b 72 61 69 6c | 7d 20 3a 20 54 45 58 54 |end{rail|} : TEXT|
|00000340| 20 69 73 20 77 72 69 74 | 74 65 6e 20 6f 75 74 20 | is writ|ten out |
|00000350| 74 6f 20 74 68 65 20 2e | 72 61 69 20 66 69 6c 65 |to the .|rai file|
|00000360| 2c 0d 25 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |,.% | |
|00000370| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000380| 20 20 20 61 73 20 5c 72 | 61 69 6c 40 69 7b 4e 52 | as \r|ail@i{NR|
|00000390| 7d 7b 54 45 58 54 7d 2e | 20 54 68 65 6e 20 74 68 |}{TEXT}.| Then th|
|000003a0| 65 20 6d 61 74 63 68 69 | 6e 67 0d 25 20 20 20 20 |e matchi|ng.% |
|000003b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000003c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 5c 72 61 69 | | \rai|
|000003d0| 6c 40 6f 7b 4e 52 7d 7b | 46 4d 54 7d 20 66 72 6f |l@o{NR}{|FMT} fro|
|000003e0| 6d 20 74 68 65 20 2e 72 | 61 6f 20 66 69 6c 65 20 |m the .r|ao file |
|000003f0| 69 73 0d 25 20 20 20 20 | 20 20 20 20 20 20 20 20 |is.% | |
|00000400| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000410| 20 20 20 20 65 78 65 63 | 75 74 65 64 20 28 69 66 | exec|uted (if|
|00000420| 20 64 65 66 69 6e 65 64 | 29 2e 0d 25 0d 25 20 5c | defined|)..%.% \|
|00000430| 72 61 69 6c 6f 70 74 69 | 6f 6e 73 7b 4f 50 54 49 |railopti|ons{OPTI|
|00000440| 4f 4e 53 7d 20 3a 20 4f | 50 54 49 4f 4e 53 20 61 |ONS} : O|PTIONS a|
|00000450| 72 65 20 77 72 69 74 74 | 65 6e 20 6f 75 74 20 74 |re writt|en out t|
|00000460| 6f 20 74 68 65 20 2e 72 | 61 69 20 66 69 6c 65 2c |o the .r|ai file,|
|00000470| 0d 25 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.% | |
|00000480| 20 20 20 20 20 20 20 20 | 20 20 20 61 73 20 5c 72 | | as \r|
|00000490| 61 69 6c 40 70 7b 4f 50 | 54 49 4f 4e 53 7d 2e 0d |ail@p{OP|TIONS}..|
|000004a0| 25 0d 25 20 5c 72 61 69 | 6c 74 65 72 6d 7b 49 44 |%.% \rai|lterm{ID|
|000004b0| 45 4e 54 2c 49 44 45 4e | 54 2c 2e 2e 2e 7d 20 3a |ENT,IDEN|T,...} :|
|000004c0| 20 66 6f 72 6d 61 74 20 | 49 44 45 4e 54 20 61 73 | format |IDENT as|
|000004d0| 20 74 65 72 6d 69 6e 61 | 6c 73 2e 20 77 72 69 74 | termina|ls. writ|
|000004e0| 65 73 20 6f 75 74 0d 25 | 20 20 20 20 20 20 20 20 |es out.%| |
|000004f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000500| 20 20 20 20 20 20 5c 72 | 61 69 6c 40 74 7b 49 44 | \r|ail@t{ID|
|00000510| 45 4e 54 7d 20 74 6f 20 | 74 68 65 20 2e 72 61 69 |ENT} to |the .rai|
|00000520| 20 66 69 6c 65 20 61 6e | 64 0d 25 20 20 20 20 20 | file an|d.% |
|00000530| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000540| 20 20 20 20 20 20 20 20 | 20 64 65 66 69 6e 65 73 | | defines|
|00000550| 20 5c 72 61 69 6c 40 74 | 40 49 44 45 4e 54 20 61 | \rail@t|@IDENT a|
|00000560| 73 20 5c 72 61 69 6c 40 | 74 65 72 6d 66 6f 6e 74 |s \rail@|termfont|
|00000570| 20 49 44 45 4e 54 2e 0d | 25 0d 25 20 5c 72 61 69 | IDENT..|%.% \rai|
|00000580| 6c 74 6f 6b 65 6e 7b 49 | 44 45 4e 54 7d 7b 54 45 |ltoken{I|DENT}{TE|
|00000590| 58 54 7d 20 3a 20 66 6f | 72 6d 61 74 20 49 44 45 |XT} : fo|rmat IDE|
|000005a0| 4e 54 20 61 73 20 74 65 | 72 6d 69 6e 61 6c 20 54 |NT as te|rminal T|
|000005b0| 45 58 54 2e 20 77 72 69 | 74 65 73 20 6f 75 74 0d |EXT. wri|tes out.|
|000005c0| 25 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |% | |
|000005d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 5c 72 61 69 | | \rai|
|000005e0| 6c 40 74 7b 49 44 45 4e | 54 7d 20 74 6f 20 74 68 |l@t{IDEN|T} to th|
|000005f0| 65 20 2e 72 61 69 20 66 | 69 6c 65 20 61 6e 64 20 |e .rai f|ile and |
|00000600| 64 65 66 69 6e 65 73 0d | 25 20 20 20 20 20 20 20 |defines.|% |
|00000610| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000620| 20 20 20 20 5c 72 61 69 | 6c 40 74 40 49 44 45 4e | \rai|l@t@IDEN|
|00000630| 54 20 61 73 20 54 45 58 | 54 2e 0d 25 0d 25 20 5c |T as TEX|T..%.% \|
|00000640| 72 61 69 6c 40 6e 72 20 | 3a 20 72 61 69 6c 72 6f |rail@nr |: railro|
|00000650| 61 64 20 64 69 61 67 72 | 61 6d 20 63 6f 75 6e 74 |ad diagr|am count|
|00000660| 65 72 2c 20 73 74 61 72 | 74 73 20 61 74 20 31 0d |er, star|ts at 1.|
|00000670| 25 0d 25 20 5c 69 66 72 | 61 69 6c 40 6d 61 74 63 |%.% \ifr|ail@matc|
|00000680| 68 20 3a 20 63 75 72 72 | 65 6e 74 20 5c 72 61 69 |h : curr|ent \rai|
|00000690| 6c 40 69 7b 4e 52 7d 7b | 54 45 58 54 7d 20 6d 61 |l@i{NR}{|TEXT} ma|
|000006a0| 74 63 68 65 73 0d 25 0d | 25 20 5c 72 61 69 6c 40 |tches.%.|% \rail@|
|000006b0| 66 69 72 73 74 20 3a 09 | 61 63 74 69 6f 6e 73 20 |first :.|actions |
|000006c0| 74 6f 20 62 65 20 64 6f | 6e 65 20 66 69 72 73 74 |to be do|ne first|
|000006d0| 2e 20 72 65 61 64 20 69 | 6e 20 2e 72 61 6f 20 66 |. read i|n .rao f|
|000006e0| 69 6c 65 2c 0d 25 20 20 | 20 20 20 20 20 20 20 20 |ile,.% | |
|000006f0| 20 20 20 20 20 6f 70 65 | 6e 20 2e 72 61 69 20 66 | ope|n .rai f|
|00000700| 69 6c 65 20 69 66 20 5c | 40 66 69 6c 65 73 77 20 |ile if \|@filesw |
|00000710| 74 72 75 65 2c 20 75 6e | 64 65 66 69 6e 65 20 5c |true, un|define \|
|00000720| 72 61 69 6c 40 66 69 72 | 73 74 2e 0d 25 20 20 20 |rail@fir|st..% |
|00000730| 20 20 20 20 20 20 20 20 | 20 20 20 20 65 78 65 63 | | exec|
|00000740| 75 74 65 64 20 66 72 6f | 6d 20 5c 62 65 67 69 6e |uted fro|m \begin|
|00000750| 7b 72 61 69 6c 7d 20 61 | 6e 64 20 5c 72 61 69 6c |{rail} a|nd \rail|
|00000760| 74 6f 6b 65 6e 2e 0d 25 | 0d 25 20 5c 72 61 69 6c |token..%|.% \rail|
|00000770| 40 69 7b 4e 52 7d 7b 54 | 45 58 54 7d 20 3a 20 64 |@i{NR}{T|EXT} : d|
|00000780| 65 66 69 6e 65 73 20 5c | 72 61 69 6c 40 69 40 4e |efines \|rail@i@N|
|00000790| 52 20 61 73 20 54 45 58 | 54 2e 20 77 72 69 74 74 |R as TEX|T. writt|
|000007a0| 65 6e 20 74 6f 20 74 68 | 65 20 2e 72 61 69 0d 25 |en to th|e .rai.%|
|000007b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000007c0| 20 20 20 20 20 66 69 6c | 65 20 62 79 20 5c 72 61 | fil|e by \ra|
|000007d0| 69 6c 2c 20 72 65 61 64 | 20 66 72 6f 6d 20 74 68 |il, read| from th|
|000007e0| 65 20 2e 72 61 6f 20 66 | 69 6c 65 20 62 79 0d 25 |e .rao f|ile by.%|
|000007f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000800| 20 20 20 20 20 5c 72 61 | 69 6c 40 66 69 72 73 74 | \ra|il@first|
|00000810| 0d 25 0d 25 20 5c 72 61 | 69 6c 40 74 7b 49 44 45 |.%.% \ra|il@t{IDE|
|00000820| 4e 54 7d 20 3a 20 74 65 | 6c 6c 73 20 52 61 69 6c |NT} : te|lls Rail|
|00000830| 20 74 68 61 74 20 49 44 | 45 4e 54 20 69 73 20 74 | that ID|ENT is t|
|00000840| 6f 20 62 65 20 63 75 73 | 74 6f 6d 20 66 6f 72 6d |o be cus|tom form|
|00000850| 61 74 74 65 64 2c 0d 25 | 20 20 20 20 20 20 20 20 |atted,.%| |
|00000860| 20 20 20 20 20 20 20 20 | 20 20 77 72 69 74 74 65 | | writte|
|00000870| 6e 20 74 6f 20 74 68 65 | 20 2e 72 61 69 20 66 69 |n to the| .rai fi|
|00000880| 6c 65 20 62 79 20 5c 72 | 61 69 6c 74 65 72 6d 20 |le by \r|ailterm |
|00000890| 61 6e 64 20 5c 72 61 69 | 6c 74 6f 6b 65 6e 2e 0d |and \rai|ltoken..|
|000008a0| 25 0d 25 20 5c 72 61 69 | 6c 40 6f 7b 4e 52 7d 7b |%.% \rai|l@o{NR}{|
|000008b0| 54 45 58 54 7d 20 3a 20 | 64 65 66 69 6e 65 73 20 |TEXT} : |defines |
|000008c0| 5c 72 61 69 6c 40 6f 40 | 4e 52 20 61 73 20 54 45 |\rail@o@|NR as TE|
|000008d0| 58 54 2c 20 72 65 61 64 | 20 66 72 6f 6d 20 74 68 |XT, read| from th|
|000008e0| 65 20 2e 72 61 6f 0d 25 | 20 20 20 20 20 20 20 20 |e .rao.%| |
|000008f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 66 69 6c | | fil|
|00000900| 65 20 62 79 20 5c 72 61 | 69 6c 40 66 69 72 73 74 |e by \ra|il@first|
|00000910| 2e 0d 25 0d 25 20 5c 72 | 61 69 6c 40 70 7b 4f 50 |..%.% \r|ail@p{OP|
|00000920| 54 49 4f 4e 53 7d 20 3a | 20 70 61 73 73 20 6f 70 |TIONS} :| pass op|
|00000930| 74 69 6f 6e 73 20 74 6f | 20 72 61 69 6c 2c 20 77 |tions to| rail, w|
|00000940| 72 69 74 74 65 6e 20 74 | 6f 20 74 68 65 20 2e 72 |ritten t|o the .r|
|00000950| 61 69 20 66 69 6c 65 20 | 62 79 0d 25 20 20 20 20 |ai file |by.% |
|00000960| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000970| 5c 72 61 69 6c 6f 70 74 | 69 6f 6e 73 0d 25 0d 25 |\railopt|ions.%.%|
|00000980| 20 5c 72 61 69 6c 40 77 | 61 72 6e 20 3a 20 77 61 | \rail@w|arn : wa|
|00000990| 72 6e 20 75 73 65 72 20 | 66 6f 72 20 6d 69 73 6d |rn user |for mism|
|000009a0| 61 74 63 68 69 6e 67 20 | 64 69 61 67 72 61 6d 73 |atching |diagrams|
|000009b0| 0d 25 0d 25 20 5c 72 61 | 69 6c 40 65 6e 64 77 61 |.%.% \ra|il@endwa|
|000009c0| 72 6e 20 3a 20 65 69 74 | 68 65 72 20 5c 72 65 6c |rn : eit|her \rel|
|000009d0| 61 78 20 6f 72 20 5c 72 | 61 69 6c 40 77 61 72 6e |ax or \r|ail@warn|
|000009e0| 0d 25 0d 25 20 5c 72 61 | 69 6c 40 65 6e 64 64 6f |.%.% \ra|il@enddo|
|000009f0| 63 75 6d 65 6e 74 20 3a | 20 6f 72 69 67 69 6e 61 |cument :| origina|
|00000a00| 6c 20 5c 65 6e 64 64 6f | 63 75 6d 65 6e 74 0d 25 |l \enddo|cument.%|
|00000a10| 0d 25 20 5c 65 6e 64 64 | 6f 63 75 6d 65 6e 74 20 |.% \endd|ocument |
|00000a20| 3a 20 63 68 65 63 6b 73 | 20 5c 69 66 72 61 69 6c |: checks| \ifrail|
|00000a30| 40 61 6c 6c 0d 0d 5c 6e | 65 77 63 6f 75 6e 74 5c |@all..\n|ewcount\|
|00000a40| 72 61 69 6c 40 6e 72 0d | 5c 72 61 69 6c 40 6e 72 |rail@nr.|\rail@nr|
|00000a50| 3d 31 0d 0d 5c 6e 65 77 | 69 66 5c 69 66 72 61 69 |=1..\new|if\ifrai|
|00000a60| 6c 40 61 6c 6c 0d 5c 72 | 61 69 6c 40 61 6c 6c 74 |l@all.\r|ail@allt|
|00000a70| 72 75 65 0d 0d 5c 6e 65 | 77 69 66 5c 69 66 72 61 |rue..\ne|wif\ifra|
|00000a80| 69 6c 40 6d 61 74 63 68 | 0d 0d 5c 64 65 66 5c 72 |il@match|..\def\r|
|00000a90| 61 69 6c 40 66 69 72 73 | 74 7b 0d 5c 6d 61 6b 65 |ail@firs|t{.\make|
|00000aa0| 61 74 6c 65 74 74 65 72 | 0d 5c 40 69 6e 70 75 74 |atletter|.\@input|
|00000ab0| 7b 5c 6a 6f 62 6e 61 6d | 65 2e 72 61 6f 7d 0d 5c |{\jobnam|e.rao}.\|
|00000ac0| 6d 61 6b 65 61 74 6f 74 | 68 65 72 0d 5c 69 66 40 |makeatot|her.\if@|
|00000ad0| 66 69 6c 65 73 77 0d 5c | 6e 65 77 77 72 69 74 65 |filesw.\|newwrite|
|00000ae0| 5c 74 66 40 72 61 69 0d | 5c 69 6d 6d 65 64 69 61 |\tf@rai.|\immedia|
|00000af0| 74 65 5c 6f 70 65 6e 6f | 75 74 5c 74 66 40 72 61 |te\openo|ut\tf@ra|
|00000b00| 69 5c 6a 6f 62 6e 61 6d | 65 2e 72 61 69 5c 72 65 |i\jobnam|e.rai\re|
|00000b10| 6c 61 78 0d 5c 66 69 0d | 5c 67 6c 6f 62 61 6c 5c |lax.\fi.|\global\|
|00000b20| 6c 65 74 5c 72 61 69 6c | 40 66 69 72 73 74 3d 5c |let\rail|@first=\|
|00000b30| 72 65 6c 61 78 0d 7d 0d | 0d 5c 6c 6f 6e 67 5c 64 |relax.}.|.\long\d|
|00000b40| 65 66 5c 72 61 69 6c 23 | 31 5c 65 6e 64 23 32 7b |ef\rail#|1\end#2{|
|00000b50| 0d 5c 65 6e 64 7b 23 32 | 7d 0d 5c 72 61 69 6c 40 |.\end{#2|}.\rail@|
|00000b60| 66 69 72 73 74 0d 5c 62 | 65 67 69 6e 67 72 6f 75 |first.\b|egingrou|
|00000b70| 70 0d 5c 6c 65 74 5c 5c | 3d 5c 72 65 6c 61 78 0d |p.\let\\|=\relax.|
|00000b80| 5c 67 6c 6f 62 61 6c 5c | 65 64 65 66 5c 72 61 69 |\global\|edef\rai|
|00000b90| 6c 40 69 40 7b 23 31 7d | 0d 5c 65 6e 64 67 72 6f |l@i@{#1}|.\endgro|
|00000ba0| 75 70 0d 5c 40 69 66 75 | 6e 64 65 66 69 6e 65 64 |up.\@ifu|ndefined|
|00000bb0| 7b 74 66 40 72 61 69 7d | 7b 7d 7b 0d 5c 62 65 67 |{tf@rai}|{}{.\beg|
|00000bc0| 69 6e 67 72 6f 75 70 0d | 5c 6c 65 74 5c 5c 3d 5c |ingroup.|\let\\=\|
|00000bd0| 72 65 6c 61 78 0d 5c 69 | 6d 6d 65 64 69 61 74 65 |relax.\i|mmediate|
|00000be0| 5c 77 72 69 74 65 5c 74 | 66 40 72 61 69 7b 5c 6e |\write\t|f@rai{\n|
|00000bf0| 6f 65 78 70 61 6e 64 5c | 72 61 69 6c 40 69 7b 5c |oexpand\|rail@i{\|
|00000c00| 6e 75 6d 62 65 72 5c 72 | 61 69 6c 40 6e 72 7d 7b |number\r|ail@nr}{|
|00000c10| 5c 72 61 69 6c 40 69 40 | 7d 7d 0d 5c 65 6e 64 67 |\rail@i@|}}.\endg|
|00000c20| 72 6f 75 70 0d 7d 0d 5c | 72 61 69 6c 40 6d 61 74 |roup.}.\|rail@mat|
|00000c30| 63 68 74 72 75 65 0d 5c | 40 69 66 75 6e 64 65 66 |chtrue.\|@ifundef|
|00000c40| 69 6e 65 64 7b 72 61 69 | 6c 40 6f 40 5c 6e 75 6d |ined{rai|l@o@\num|
|00000c50| 62 65 72 5c 72 61 69 6c | 40 6e 72 7d 7b 5c 72 61 |ber\rail|@nr}{\ra|
|00000c60| 69 6c 40 6d 61 74 63 68 | 66 61 6c 73 65 7d 7b 7d |il@match|false}{}|
|00000c70| 0d 5c 65 78 70 61 6e 64 | 61 66 74 65 72 5c 69 66 |.\expand|after\if|
|00000c80| 78 5c 63 73 6e 61 6d 65 | 20 72 61 69 6c 40 69 40 |x\csname| rail@i@|
|00000c90| 5c 6e 75 6d 62 65 72 5c | 72 61 69 6c 40 6e 72 5c |\number\|rail@nr\|
|00000ca0| 65 6e 64 63 73 6e 61 6d | 65 5c 72 61 69 6c 40 69 |endcsnam|e\rail@i|
|00000cb0| 40 0d 5c 65 6c 73 65 0d | 5c 72 61 69 6c 40 6d 61 |@.\else.|\rail@ma|
|00000cc0| 74 63 68 66 61 6c 73 65 | 0d 5c 66 69 0d 5c 69 66 |tchfalse|.\fi.\if|
|00000cd0| 72 61 69 6c 40 6d 61 74 | 63 68 0d 5c 65 78 70 61 |rail@mat|ch.\expa|
|00000ce0| 6e 64 61 66 74 65 72 5c | 72 65 6c 61 78 5c 63 73 |ndafter\|relax\cs|
|00000cf0| 6e 61 6d 65 20 72 61 69 | 6c 40 6f 40 5c 6e 75 6d |name rai|l@o@\num|
|00000d00| 62 65 72 5c 72 61 69 6c | 40 6e 72 5c 65 6e 64 63 |ber\rail|@nr\endc|
|00000d10| 73 6e 61 6d 65 0d 5c 65 | 6c 73 65 0d 5c 40 77 61 |sname.\e|lse.\@wa|
|00000d20| 72 6e 69 6e 67 7b 52 61 | 69 6c 72 6f 61 64 20 64 |rning{Ra|ilroad d|
|00000d30| 69 61 67 72 61 6d 20 7b | 5c 6e 75 6d 62 65 72 5c |iagram {|\number\|
|00000d40| 72 61 69 6c 40 6e 72 7d | 20 64 6f 65 73 6e 27 74 |rail@nr}| doesn't|
|00000d50| 20 6d 61 74 63 68 7d 0d | 5c 67 6c 6f 62 61 6c 5c | match}.|\global\|
|00000d60| 6c 65 74 5c 72 61 69 6c | 40 65 6e 64 77 61 72 6e |let\rail|@endwarn|
|00000d70| 3d 5c 72 61 69 6c 40 77 | 61 72 6e 0d 5c 72 61 69 |=\rail@w|arn.\rai|
|00000d80| 6c 40 62 65 67 69 6e 7b | 31 7d 7b 7d 0d 5c 72 61 |l@begin{|1}{}.\ra|
|00000d90| 69 6c 40 73 65 74 62 6f | 78 7b 5c 62 66 20 3f 3f |il@setbo|x{\bf ??|
|00000da0| 3f 7d 0d 5c 72 61 69 6c | 40 6f 76 61 6c 0d 5c 72 |?}.\rail|@oval.\r|
|00000db0| 61 69 6c 40 65 6e 64 0d | 5c 66 69 0d 5c 67 6c 6f |ail@end.|\fi.\glo|
|00000dc0| 62 61 6c 5c 61 64 76 61 | 6e 63 65 5c 72 61 69 6c |bal\adva|nce\rail|
|00000dd0| 40 6e 72 20 62 79 20 31 | 0d 7d 0d 0d 5c 64 65 66 |@nr by 1|.}..\def|
|00000de0| 5c 72 61 69 6c 6f 70 74 | 69 6f 6e 73 23 31 7b 0d |\railopt|ions#1{.|
|00000df0| 5c 72 61 69 6c 40 66 69 | 72 73 74 0d 5c 40 77 72 |\rail@fi|rst.\@wr|
|00000e00| 69 74 65 66 69 6c 65 7b | 72 61 69 7d 7b 5c 6e 6f |itefile{|rai}{\no|
|00000e10| 65 78 70 61 6e 64 5c 72 | 61 69 6c 40 70 7b 23 31 |expand\r|ail@p{#1|
|00000e20| 7d 7d 0d 7d 0d 0d 5c 64 | 65 66 5c 72 61 69 6c 74 |}}.}..\d|ef\railt|
|00000e30| 65 72 6d 23 31 7b 0d 5c | 72 61 69 6c 40 66 69 72 |erm#1{.\|rail@fir|
|00000e40| 73 74 0d 5c 40 66 6f 72 | 5c 72 61 69 6c 40 69 40 |st.\@for|\rail@i@|
|00000e50| 3a 3d 23 31 5c 64 6f 7b | 0d 5c 40 77 72 69 74 65 |:=#1\do{|.\@write|
|00000e60| 66 69 6c 65 7b 72 61 69 | 7d 7b 5c 6e 6f 65 78 70 |file{rai|}{\noexp|
|00000e70| 61 6e 64 5c 72 61 69 6c | 40 74 7b 5c 72 61 69 6c |and\rail|@t{\rail|
|00000e80| 40 69 40 7d 7d 0d 7d 0d | 7d 0d 0d 5c 64 65 66 5c |@i@}}.}.|}..\def\|
|00000e90| 72 61 69 6c 74 6f 6b 65 | 6e 23 31 23 32 7b 0d 5c |railtoke|n#1#2{.\|
|00000ea0| 72 61 69 6c 40 66 69 72 | 73 74 0d 5c 40 77 72 69 |rail@fir|st.\@wri|
|00000eb0| 74 65 66 69 6c 65 7b 72 | 61 69 7d 7b 5c 6e 6f 65 |tefile{r|ai}{\noe|
|00000ec0| 78 70 61 6e 64 5c 72 61 | 69 6c 40 74 7b 23 31 7d |xpand\ra|il@t{#1}|
|00000ed0| 7d 0d 5c 65 78 70 61 6e | 64 61 66 74 65 72 5c 64 |}.\expan|dafter\d|
|00000ee0| 65 66 5c 63 73 6e 61 6d | 65 20 72 61 69 6c 40 74 |ef\csnam|e rail@t|
|00000ef0| 40 23 31 5c 65 6e 64 63 | 73 6e 61 6d 65 7b 23 32 |@#1\endc|sname{#2|
|00000f00| 7d 0d 7d 0d 0d 5c 6c 6f | 6e 67 5c 64 65 66 5c 72 |}.}..\lo|ng\def\r|
|00000f10| 61 69 6c 40 69 23 31 23 | 32 7b 0d 5c 65 78 70 61 |ail@i#1#|2{.\expa|
|00000f20| 6e 64 61 66 74 65 72 5c | 67 64 65 66 5c 63 73 6e |ndafter\|gdef\csn|
|00000f30| 61 6d 65 20 72 61 69 6c | 40 69 40 23 31 5c 65 6e |ame rail|@i@#1\en|
|00000f40| 64 63 73 6e 61 6d 65 7b | 23 32 7d 0d 7d 0d 0d 5c |dcsname{|#2}.}..\|
|00000f50| 64 65 66 5c 72 61 69 6c | 40 6f 23 31 23 32 7b 0d |def\rail|@o#1#2{.|
|00000f60| 5c 65 78 70 61 6e 64 61 | 66 74 65 72 5c 67 64 65 |\expanda|fter\gde|
|00000f70| 66 5c 63 73 6e 61 6d 65 | 20 72 61 69 6c 40 6f 40 |f\csname| rail@o@|
|00000f80| 23 31 5c 65 6e 64 63 73 | 6e 61 6d 65 7b 23 32 7d |#1\endcs|name{#2}|
|00000f90| 0d 7d 0d 0d 5c 64 65 66 | 5c 72 61 69 6c 40 74 23 |.}..\def|\rail@t#|
|00000fa0| 31 7b 7d 0d 0d 5c 64 65 | 66 5c 72 61 69 6c 40 70 |1{}..\de|f\rail@p|
|00000fb0| 23 31 7b 7d 0d 0d 5c 64 | 65 66 5c 72 61 69 6c 40 |#1{}..\d|ef\rail@|
|00000fc0| 77 61 72 6e 7b 0d 5c 40 | 77 61 72 6e 69 6e 67 7b |warn{.\@|warning{|
|00000fd0| 52 61 69 6c 72 6f 61 64 | 20 64 69 61 67 72 61 6d |Railroad| diagram|
|00000fe0| 28 73 29 20 6d 61 79 20 | 68 61 76 65 20 63 68 61 |(s) may |have cha|
|00000ff0| 6e 67 65 64 2e 20 55 73 | 65 20 27 72 61 69 6c 27 |nged. Us|e 'rail'|
|00001000| 20 61 6e 64 20 72 65 72 | 75 6e 7d 0d 7d 0d 0d 5c | and rer|un}.}..\|
|00001010| 6c 65 74 5c 72 61 69 6c | 40 65 6e 64 77 61 72 6e |let\rail|@endwarn|
|00001020| 3d 5c 72 65 6c 61 78 0d | 0d 5c 6c 65 74 5c 72 61 |=\relax.|.\let\ra|
|00001030| 69 6c 40 65 6e 64 64 6f | 63 75 6d 65 6e 74 3d 5c |il@enddo|cument=\|
|00001040| 65 6e 64 64 6f 63 75 6d | 65 6e 74 0d 0d 5c 64 65 |enddocum|ent..\de|
|00001050| 66 5c 65 6e 64 64 6f 63 | 75 6d 65 6e 74 7b 0d 5c |f\enddoc|ument{.\|
|00001060| 72 61 69 6c 40 65 6e 64 | 77 61 72 6e 0d 5c 72 61 |rail@end|warn.\ra|
|00001070| 69 6c 40 65 6e 64 64 6f | 63 75 6d 65 6e 74 0d 7d |il@enddo|cument.}|
|00001080| 0d 0d 25 20 69 6e 64 65 | 78 20 65 6e 74 72 79 20 |..% inde|x entry |
|00001090| 6d 61 63 72 6f 0d 25 0d | 25 20 5c 72 61 69 6c 40 |macro.%.|% \rail@|
|000010a0| 69 6e 64 65 78 7b 49 44 | 45 4e 54 7d 20 3a 20 61 |index{ID|ENT} : a|
|000010b0| 64 64 20 69 6e 64 65 78 | 20 65 6e 74 72 79 20 66 |dd index| entry f|
|000010c0| 6f 72 20 49 44 45 4e 54 | 0d 0d 5c 64 65 66 5c 72 |or IDENT|..\def\r|
|000010d0| 61 69 6c 40 69 6e 64 65 | 78 23 31 7b 0d 5c 69 6e |ail@inde|x#1{.\in|
|000010e0| 64 65 78 7b 5c 72 61 69 | 6c 40 69 6e 64 65 78 66 |dex{\rai|l@indexf|
|000010f0| 6f 6e 74 23 31 7d 0d 7d | 0d 0d 25 20 72 61 69 6c |ont#1}.}|..% rail|
|00001100| 72 6f 61 64 20 64 69 61 | 67 72 61 6d 20 66 6f 72 |road dia|gram for|
|00001110| 6d 61 74 74 69 6e 67 20 | 70 61 72 61 6d 65 74 65 |matting |paramete|
|00001120| 72 73 20 28 75 73 65 72 | 20 6c 65 76 65 6c 29 0d |rs (user| level).|
|00001130| 25 20 61 6c 6c 20 6f 66 | 20 74 68 65 73 65 20 61 |% all of| these a|
|00001140| 72 65 20 63 6f 70 69 65 | 64 20 69 6e 74 6f 20 74 |re copie|d into t|
|00001150| 68 65 69 72 20 69 6e 74 | 65 72 6e 61 6c 20 76 65 |heir int|ernal ve|
|00001160| 72 73 69 6f 6e 73 20 62 | 79 20 5c 72 61 69 6c 69 |rsions b|y \raili|
|00001170| 6e 69 74 0d 25 0d 25 20 | 5c 72 61 69 6c 75 6e 69 |nit.%.% |\railuni|
|00001180| 74 20 3a 20 5c 75 6e 69 | 74 6c 65 6e 67 74 68 20 |t : \uni|tlength |
|00001190| 77 69 74 68 69 6e 20 72 | 61 69 6c 72 6f 61 64 20 |within r|ailroad |
|000011a0| 64 69 61 67 72 61 6d 73 | 0d 25 20 5c 72 61 69 6c |diagrams|.% \rail|
|000011b0| 65 78 74 72 61 20 3a 20 | 65 78 74 72 61 20 6c 65 |extra : |extra le|
|000011c0| 6e 67 74 68 20 61 74 20 | 6f 75 74 73 69 64 65 20 |ngth at |outside |
|000011d0| 6f 66 20 64 69 61 67 72 | 61 6d 0d 25 20 5c 72 61 |of diagr|am.% \ra|
|000011e0| 69 6c 62 6f 78 68 65 69 | 67 68 74 20 3a 20 68 65 |ilboxhei|ght : he|
|000011f0| 69 67 68 74 20 6f 66 20 | 6f 76 61 6c 73 20 61 6e |ight of |ovals an|
|00001200| 64 20 66 72 61 6d 65 73 | 0d 25 20 5c 72 61 69 6c |d frames|.% \rail|
|00001210| 62 6f 78 73 6b 69 70 20 | 3a 20 76 65 72 74 69 63 |boxskip |: vertic|
|00001220| 61 6c 20 73 70 61 63 65 | 20 62 65 74 77 65 65 6e |al space| between|
|00001230| 20 6c 69 6e 65 73 0d 25 | 20 5c 72 61 69 6c 62 6f | lines.%| \railbo|
|00001240| 78 6c 65 66 74 20 3a 20 | 73 70 61 63 65 20 74 6f |xleft : |space to|
|00001250| 20 74 68 65 20 6c 65 66 | 74 20 6f 66 20 61 20 62 | the lef|t of a b|
|00001260| 6f 78 0d 25 20 5c 72 61 | 69 6c 62 6f 78 72 69 67 |ox.% \ra|ilboxrig|
|00001270| 68 74 20 3a 20 73 70 61 | 63 65 20 74 6f 20 74 68 |ht : spa|ce to th|
|00001280| 65 20 72 69 67 68 74 20 | 6f 66 20 61 20 62 6f 78 |e right |of a box|
|00001290| 0d 25 20 5c 72 61 69 6c | 6f 76 61 6c 73 70 61 63 |.% \rail|ovalspac|
|000012a0| 65 20 3a 20 65 78 74 72 | 61 20 73 70 61 63 65 20 |e : extr|a space |
|000012b0| 61 72 6f 75 6e 64 20 63 | 6f 6e 74 65 6e 74 73 20 |around c|ontents |
|000012c0| 6f 66 20 6f 76 61 6c 0d | 25 20 5c 72 61 69 6c 66 |of oval.|% \railf|
|000012d0| 72 61 6d 65 73 70 61 63 | 65 20 3a 20 65 78 74 72 |ramespac|e : extr|
|000012e0| 61 20 73 70 61 63 65 20 | 61 72 6f 75 6e 64 20 63 |a space |around c|
|000012f0| 6f 6e 74 65 6e 74 73 20 | 6f 66 20 66 72 61 6d 65 |ontents |of frame|
|00001300| 0d 25 20 5c 72 61 69 6c | 74 65 78 74 6c 65 66 74 |.% \rail|textleft|
|00001310| 20 3a 20 73 70 61 63 65 | 20 74 6f 20 74 68 65 20 | : space| to the |
|00001320| 6c 65 66 74 20 6f 66 20 | 74 65 78 74 0d 25 20 5c |left of |text.% \|
|00001330| 72 61 69 6c 74 65 78 74 | 72 69 67 68 74 20 3a 20 |railtext|right : |
|00001340| 73 70 61 63 65 20 74 6f | 20 74 68 65 20 72 69 67 |space to| the rig|
|00001350| 68 74 20 6f 66 20 74 65 | 78 74 0d 25 20 5c 72 61 |ht of te|xt.% \ra|
|00001360| 69 6c 74 65 78 74 75 70 | 20 3a 20 73 70 61 63 65 |iltextup| : space|
|00001370| 20 74 6f 20 6c 69 66 74 | 20 74 65 78 74 20 75 70 | to lift| text up|
|00001380| 0d 25 20 5c 72 61 69 6c | 6a 6f 69 6e 73 69 7a 65 |.% \rail|joinsize|
|00001390| 20 3a 20 63 69 72 63 6c | 65 20 73 69 7a 65 20 6f | : circl|e size o|
|000013a0| 66 20 6a 6f 69 6e 2f 73 | 70 6c 69 74 20 61 72 63 |f join/s|plit arc|
|000013b0| 73 0d 25 20 5c 72 61 69 | 6c 6a 6f 69 6e 61 64 6a |s.% \rai|ljoinadj|
|000013c0| 75 73 74 20 3a 20 73 70 | 61 63 65 20 74 6f 20 61 |ust : sp|ace to a|
|000013d0| 64 6a 75 73 74 20 6a 6f | 69 6e 0d 25 0d 25 20 5c |djust jo|in.%.% \|
|000013e0| 72 61 69 6c 6e 61 6d 65 | 73 65 70 20 3a 20 73 65 |railname|sep : se|
|000013f0| 70 61 72 61 74 6f 72 20 | 62 65 74 77 65 65 6e 20 |parator |between |
|00001400| 6e 61 6d 65 20 61 6e 64 | 20 72 75 6c 65 20 62 6f |name and| rule bo|
|00001410| 64 79 0d 0d 5c 6e 65 77 | 64 69 6d 65 6e 5c 72 61 |dy..\new|dimen\ra|
|00001420| 69 6c 75 6e 69 74 0d 5c | 6e 65 77 64 69 6d 65 6e |ilunit.\|newdimen|
|00001430| 5c 72 61 69 6c 65 78 74 | 72 61 0d 5c 6e 65 77 64 |\railext|ra.\newd|
|00001440| 69 6d 65 6e 5c 72 61 69 | 6c 62 6f 78 68 65 69 67 |imen\rai|lboxheig|
|00001450| 68 74 0d 5c 6e 65 77 64 | 69 6d 65 6e 5c 72 61 69 |ht.\newd|imen\rai|
|00001460| 6c 62 6f 78 73 6b 69 70 | 0d 5c 6e 65 77 64 69 6d |lboxskip|.\newdim|
|00001470| 65 6e 5c 72 61 69 6c 62 | 6f 78 6c 65 66 74 0d 5c |en\railb|oxleft.\|
|00001480| 6e 65 77 64 69 6d 65 6e | 5c 72 61 69 6c 62 6f 78 |newdimen|\railbox|
|00001490| 72 69 67 68 74 0d 5c 6e | 65 77 64 69 6d 65 6e 5c |right.\n|ewdimen\|
|000014a0| 72 61 69 6c 6f 76 61 6c | 73 70 61 63 65 0d 5c 6e |railoval|space.\n|
|000014b0| 65 77 64 69 6d 65 6e 5c | 72 61 69 6c 66 72 61 6d |ewdimen\|railfram|
|000014c0| 65 73 70 61 63 65 0d 5c | 6e 65 77 64 69 6d 65 6e |espace.\|newdimen|
|000014d0| 5c 72 61 69 6c 74 65 78 | 74 6c 65 66 74 0d 5c 6e |\railtex|tleft.\n|
|000014e0| 65 77 64 69 6d 65 6e 5c | 72 61 69 6c 74 65 78 74 |ewdimen\|railtext|
|000014f0| 72 69 67 68 74 0d 5c 6e | 65 77 64 69 6d 65 6e 5c |right.\n|ewdimen\|
|00001500| 72 61 69 6c 74 65 78 74 | 75 70 0d 5c 6e 65 77 64 |railtext|up.\newd|
|00001510| 69 6d 65 6e 5c 72 61 69 | 6c 6a 6f 69 6e 73 69 7a |imen\rai|ljoinsiz|
|00001520| 65 0d 5c 6e 65 77 64 69 | 6d 65 6e 5c 72 61 69 6c |e.\newdi|men\rail|
|00001530| 6a 6f 69 6e 61 64 6a 75 | 73 74 0d 5c 6e 65 77 64 |joinadju|st.\newd|
|00001540| 69 6d 65 6e 5c 72 61 69 | 6c 6e 61 6d 65 73 65 70 |imen\rai|lnamesep|
|00001550| 0d 0d 25 20 69 6e 74 65 | 72 6e 61 6c 20 76 65 72 |..% inte|rnal ver|
|00001560| 73 69 6f 6e 73 20 6f 66 | 20 74 68 65 20 66 6f 72 |sions of| the for|
|00001570| 6d 61 74 74 69 6e 67 20 | 70 61 72 61 6d 65 74 65 |matting |paramete|
|00001580| 72 73 0d 25 0d 25 20 5c | 72 61 69 6c 40 65 78 74 |rs.%.% \|rail@ext|
|00001590| 72 61 20 20 20 3a 20 5c | 72 61 69 6c 65 78 74 72 |ra : \|railextr|
|000015a0| 61 0d 25 20 5c 72 61 69 | 6c 40 62 6f 78 68 74 20 |a.% \rai|l@boxht |
|000015b0| 20 20 3a 20 5c 72 61 69 | 6c 62 6f 78 68 65 69 67 | : \rai|lboxheig|
|000015c0| 68 74 0d 25 20 5c 72 61 | 69 6c 40 62 6f 78 73 70 |ht.% \ra|il@boxsp|
|000015d0| 20 20 20 3a 20 5c 72 61 | 69 6c 62 6f 78 73 6b 69 | : \ra|ilboxski|
|000015e0| 70 0d 25 20 5c 72 61 69 | 6c 40 62 6f 78 6c 66 20 |p.% \rai|l@boxlf |
|000015f0| 20 20 3a 20 5c 72 61 69 | 6c 62 6f 78 6c 65 66 74 | : \rai|lboxleft|
|00001600| 0d 25 20 5c 72 61 69 6c | 40 62 6f 78 72 74 20 20 |.% \rail|@boxrt |
|00001610| 20 3a 20 5c 72 61 69 6c | 62 6f 78 72 69 67 68 74 | : \rail|boxright|
|00001620| 0d 25 20 5c 72 61 69 6c | 40 62 6f 78 68 68 74 20 |.% \rail|@boxhht |
|00001630| 20 3a 20 5c 72 61 69 6c | 62 6f 78 68 65 69 67 68 | : \rail|boxheigh|
|00001640| 74 20 2f 20 32 0d 25 20 | 5c 72 61 69 6c 40 6f 76 |t / 2.% |\rail@ov|
|00001650| 61 6c 73 70 20 20 3a 20 | 5c 72 61 69 6c 6f 76 61 |alsp : |\railova|
|00001660| 6c 73 70 61 63 65 0d 25 | 20 5c 72 61 69 6c 40 66 |lspace.%| \rail@f|
|00001670| 72 61 6d 65 73 70 20 3a | 20 5c 72 61 69 6c 66 72 |ramesp :| \railfr|
|00001680| 61 6d 65 73 70 61 63 65 | 0d 25 20 5c 72 61 69 6c |amespace|.% \rail|
|00001690| 40 74 65 78 74 6c 66 09 | 3a 20 5c 72 61 69 6c 74 |@textlf.|: \railt|
|000016a0| 65 78 74 6c 65 66 74 0d | 25 20 5c 72 61 69 6c 40 |extleft.|% \rail@|
|000016b0| 74 65 78 74 72 74 09 3a | 20 5c 72 61 69 6c 74 65 |textrt.:| \railte|
|000016c0| 78 74 72 69 67 68 74 0d | 25 20 5c 72 61 69 6c 40 |xtright.|% \rail@|
|000016d0| 74 65 78 74 75 70 09 3a | 20 5c 72 61 69 6c 74 65 |textup.:| \railte|
|000016e0| 78 74 75 70 0d 25 20 5c | 72 61 69 6c 40 6a 6f 69 |xtup.% \|rail@joi|
|000016f0| 6e 73 7a 20 20 3a 20 5c | 72 61 69 6c 6a 6f 69 6e |nsz : \|railjoin|
|00001700| 73 69 7a 65 0d 25 20 5c | 72 61 69 6c 40 6a 6f 69 |size.% \|rail@joi|
|00001710| 6e 68 73 7a 20 3a 20 5c | 72 61 69 6c 6a 6f 69 6e |nhsz : \|railjoin|
|00001720| 73 69 7a 65 20 2f 20 32 | 0d 25 20 5c 72 61 69 6c |size / 2|.% \rail|
|00001730| 40 6a 6f 69 6e 61 64 6a | 20 3a 20 5c 72 61 69 6c |@joinadj| : \rail|
|00001740| 6a 6f 69 6e 61 64 6a 75 | 73 74 0d 25 0d 25 20 5c |joinadju|st.%.% \|
|00001750| 72 61 69 6c 69 6e 69 74 | 20 3a 20 69 6e 74 65 72 |railinit| : inter|
|00001760| 6e 61 6c 69 7a 65 20 61 | 6c 6c 20 6f 66 20 74 68 |nalize a|ll of th|
|00001770| 65 20 70 61 72 61 6d 65 | 74 65 72 73 2e 0d 0d 5c |e parame|ters...\|
|00001780| 6e 65 77 63 6f 75 6e 74 | 5c 72 61 69 6c 40 65 78 |newcount|\rail@ex|
|00001790| 74 72 61 0d 5c 6e 65 77 | 63 6f 75 6e 74 5c 72 61 |tra.\new|count\ra|
|000017a0| 69 6c 40 62 6f 78 68 74 | 0d 5c 6e 65 77 63 6f 75 |il@boxht|.\newcou|
|000017b0| 6e 74 5c 72 61 69 6c 40 | 62 6f 78 73 70 0d 5c 6e |nt\rail@|boxsp.\n|
|000017c0| 65 77 63 6f 75 6e 74 5c | 72 61 69 6c 40 62 6f 78 |ewcount\|rail@box|
|000017d0| 6c 66 0d 5c 6e 65 77 63 | 6f 75 6e 74 5c 72 61 69 |lf.\newc|ount\rai|
|000017e0| 6c 40 62 6f 78 72 74 0d | 5c 6e 65 77 63 6f 75 6e |l@boxrt.|\newcoun|
|000017f0| 74 5c 72 61 69 6c 40 62 | 6f 78 68 68 74 0d 5c 6e |t\rail@b|oxhht.\n|
|00001800| 65 77 63 6f 75 6e 74 5c | 72 61 69 6c 40 6f 76 61 |ewcount\|rail@ova|
|00001810| 6c 73 70 0d 5c 6e 65 77 | 63 6f 75 6e 74 5c 72 61 |lsp.\new|count\ra|
|00001820| 69 6c 40 66 72 61 6d 65 | 73 70 0d 5c 6e 65 77 63 |il@frame|sp.\newc|
|00001830| 6f 75 6e 74 5c 72 61 69 | 6c 40 74 65 78 74 6c 66 |ount\rai|l@textlf|
|00001840| 0d 5c 6e 65 77 63 6f 75 | 6e 74 5c 72 61 69 6c 40 |.\newcou|nt\rail@|
|00001850| 74 65 78 74 72 74 0d 5c | 6e 65 77 63 6f 75 6e 74 |textrt.\|newcount|
|00001860| 5c 72 61 69 6c 40 74 65 | 78 74 75 70 0d 5c 6e 65 |\rail@te|xtup.\ne|
|00001870| 77 63 6f 75 6e 74 5c 72 | 61 69 6c 40 6a 6f 69 6e |wcount\r|ail@join|
|00001880| 73 7a 0d 5c 6e 65 77 63 | 6f 75 6e 74 5c 72 61 69 |sz.\newc|ount\rai|
|00001890| 6c 40 6a 6f 69 6e 68 73 | 7a 0d 5c 6e 65 77 63 6f |l@joinhs|z.\newco|
|000018a0| 75 6e 74 5c 72 61 69 6c | 40 6a 6f 69 6e 61 64 6a |unt\rail|@joinadj|
|000018b0| 0d 0d 5c 64 65 66 5c 72 | 61 69 6c 69 6e 69 74 7b |..\def\r|ailinit{|
|000018c0| 0d 5c 72 61 69 6c 40 65 | 78 74 72 61 3d 5c 72 61 |.\rail@e|xtra=\ra|
|000018d0| 69 6c 65 78 74 72 61 0d | 5c 64 69 76 69 64 65 5c |ilextra.|\divide\|
|000018e0| 72 61 69 6c 40 65 78 74 | 72 61 20 62 79 20 5c 72 |rail@ext|ra by \r|
|000018f0| 61 69 6c 75 6e 69 74 0d | 5c 72 61 69 6c 40 62 6f |ailunit.|\rail@bo|
|00001900| 78 68 74 3d 5c 72 61 69 | 6c 62 6f 78 68 65 69 67 |xht=\rai|lboxheig|
|00001910| 68 74 0d 5c 64 69 76 69 | 64 65 5c 72 61 69 6c 40 |ht.\divi|de\rail@|
|00001920| 62 6f 78 68 74 20 62 79 | 20 5c 72 61 69 6c 75 6e |boxht by| \railun|
|00001930| 69 74 0d 5c 72 61 69 6c | 40 62 6f 78 73 70 3d 5c |it.\rail|@boxsp=\|
|00001940| 72 61 69 6c 62 6f 78 73 | 6b 69 70 0d 5c 64 69 76 |railboxs|kip.\div|
|00001950| 69 64 65 5c 72 61 69 6c | 40 62 6f 78 73 70 20 62 |ide\rail|@boxsp b|
|00001960| 79 20 5c 72 61 69 6c 75 | 6e 69 74 0d 5c 72 61 69 |y \railu|nit.\rai|
|00001970| 6c 40 62 6f 78 6c 66 3d | 5c 72 61 69 6c 62 6f 78 |l@boxlf=|\railbox|
|00001980| 6c 65 66 74 0d 5c 64 69 | 76 69 64 65 5c 72 61 69 |left.\di|vide\rai|
|00001990| 6c 40 62 6f 78 6c 66 20 | 62 79 20 5c 72 61 69 6c |l@boxlf |by \rail|
|000019a0| 75 6e 69 74 0d 5c 72 61 | 69 6c 40 62 6f 78 72 74 |unit.\ra|il@boxrt|
|000019b0| 3d 5c 72 61 69 6c 62 6f | 78 72 69 67 68 74 0d 5c |=\railbo|xright.\|
|000019c0| 64 69 76 69 64 65 5c 72 | 61 69 6c 40 62 6f 78 72 |divide\r|ail@boxr|
|000019d0| 74 20 62 79 20 5c 72 61 | 69 6c 75 6e 69 74 0d 5c |t by \ra|ilunit.\|
|000019e0| 72 61 69 6c 40 62 6f 78 | 68 68 74 3d 5c 72 61 69 |rail@box|hht=\rai|
|000019f0| 6c 62 6f 78 68 65 69 67 | 68 74 0d 5c 64 69 76 69 |lboxheig|ht.\divi|
|00001a00| 64 65 5c 72 61 69 6c 40 | 62 6f 78 68 68 74 20 62 |de\rail@|boxhht b|
|00001a10| 79 20 5c 72 61 69 6c 75 | 6e 69 74 0d 5c 64 69 76 |y \railu|nit.\div|
|00001a20| 69 64 65 5c 72 61 69 6c | 40 62 6f 78 68 68 74 20 |ide\rail|@boxhht |
|00001a30| 62 79 20 32 0d 5c 72 61 | 69 6c 40 6f 76 61 6c 73 |by 2.\ra|il@ovals|
|00001a40| 70 3d 5c 72 61 69 6c 6f | 76 61 6c 73 70 61 63 65 |p=\railo|valspace|
|00001a50| 0d 5c 64 69 76 69 64 65 | 5c 72 61 69 6c 40 6f 76 |.\divide|\rail@ov|
|00001a60| 61 6c 73 70 20 62 79 20 | 5c 72 61 69 6c 75 6e 69 |alsp by |\railuni|
|00001a70| 74 0d 5c 72 61 69 6c 40 | 66 72 61 6d 65 73 70 3d |t.\rail@|framesp=|
|00001a80| 5c 72 61 69 6c 66 72 61 | 6d 65 73 70 61 63 65 0d |\railfra|mespace.|
|00001a90| 5c 64 69 76 69 64 65 5c | 72 61 69 6c 40 66 72 61 |\divide\|rail@fra|
|00001aa0| 6d 65 73 70 20 62 79 20 | 5c 72 61 69 6c 75 6e 69 |mesp by |\railuni|
|00001ab0| 74 0d 5c 72 61 69 6c 40 | 74 65 78 74 6c 66 3d 5c |t.\rail@|textlf=\|
|00001ac0| 72 61 69 6c 74 65 78 74 | 6c 65 66 74 0d 5c 64 69 |railtext|left.\di|
|00001ad0| 76 69 64 65 5c 72 61 69 | 6c 40 74 65 78 74 6c 66 |vide\rai|l@textlf|
|00001ae0| 20 62 79 20 5c 72 61 69 | 6c 75 6e 69 74 0d 5c 72 | by \rai|lunit.\r|
|00001af0| 61 69 6c 40 74 65 78 74 | 72 74 3d 5c 72 61 69 6c |ail@text|rt=\rail|
|00001b00| 74 65 78 74 72 69 67 68 | 74 0d 5c 64 69 76 69 64 |textrigh|t.\divid|
|00001b10| 65 5c 72 61 69 6c 40 74 | 65 78 74 72 74 20 62 79 |e\rail@t|extrt by|
|00001b20| 20 5c 72 61 69 6c 75 6e | 69 74 0d 5c 72 61 69 6c | \railun|it.\rail|
|00001b30| 40 74 65 78 74 75 70 3d | 5c 72 61 69 6c 74 65 78 |@textup=|\railtex|
|00001b40| 74 75 70 0d 5c 64 69 76 | 69 64 65 5c 72 61 69 6c |tup.\div|ide\rail|
|00001b50| 40 74 65 78 74 75 70 20 | 62 79 20 5c 72 61 69 6c |@textup |by \rail|
|00001b60| 75 6e 69 74 0d 5c 72 61 | 69 6c 40 6a 6f 69 6e 73 |unit.\ra|il@joins|
|00001b70| 7a 3d 5c 72 61 69 6c 6a | 6f 69 6e 73 69 7a 65 0d |z=\railj|oinsize.|
|00001b80| 5c 64 69 76 69 64 65 5c | 72 61 69 6c 40 6a 6f 69 |\divide\|rail@joi|
|00001b90| 6e 73 7a 20 62 79 20 5c | 72 61 69 6c 75 6e 69 74 |nsz by \|railunit|
|00001ba0| 0d 5c 72 61 69 6c 40 6a | 6f 69 6e 68 73 7a 3d 5c |.\rail@j|oinhsz=\|
|00001bb0| 72 61 69 6c 6a 6f 69 6e | 73 69 7a 65 0d 5c 64 69 |railjoin|size.\di|
|00001bc0| 76 69 64 65 5c 72 61 69 | 6c 40 6a 6f 69 6e 68 73 |vide\rai|l@joinhs|
|00001bd0| 7a 20 62 79 20 5c 72 61 | 69 6c 75 6e 69 74 0d 5c |z by \ra|ilunit.\|
|00001be0| 64 69 76 69 64 65 5c 72 | 61 69 6c 40 6a 6f 69 6e |divide\r|ail@join|
|00001bf0| 68 73 7a 20 62 79 20 32 | 0d 5c 72 61 69 6c 40 6a |hsz by 2|.\rail@j|
|00001c00| 6f 69 6e 61 64 6a 3d 5c | 72 61 69 6c 6a 6f 69 6e |oinadj=\|railjoin|
|00001c10| 61 64 6a 75 73 74 0d 5c | 64 69 76 69 64 65 5c 72 |adjust.\|divide\r|
|00001c20| 61 69 6c 40 6a 6f 69 6e | 61 64 6a 20 62 79 20 5c |ail@join|adj by \|
|00001c30| 72 61 69 6c 75 6e 69 74 | 0d 7d 0d 0d 25 20 69 6e |railunit|.}..% in|
|00001c40| 69 74 69 61 6c 69 7a 65 | 20 74 68 65 20 70 61 72 |itialize| the par|
|00001c50| 61 6d 65 74 65 72 73 0d | 0d 5c 72 61 69 6c 75 6e |ameters.|.\railun|
|00001c60| 69 74 3d 31 73 70 0d 5c | 72 61 69 6c 65 78 74 72 |it=1sp.\|railextr|
|00001c70| 61 3d 34 65 78 0d 5c 72 | 61 69 6c 62 6f 78 6c 65 |a=4ex.\r|ailboxle|
|00001c80| 66 74 3d 31 65 78 0d 5c | 72 61 69 6c 62 6f 78 72 |ft=1ex.\|railboxr|
|00001c90| 69 67 68 74 3d 31 65 78 | 0d 5c 72 61 69 6c 6f 76 |ight=1ex|.\railov|
|00001ca0| 61 6c 73 70 61 63 65 3d | 32 65 78 0d 5c 72 61 69 |alspace=|2ex.\rai|
|00001cb0| 6c 66 72 61 6d 65 73 70 | 61 63 65 3d 32 65 78 0d |lframesp|ace=2ex.|
|00001cc0| 5c 72 61 69 6c 74 65 78 | 74 6c 65 66 74 3d 31 65 |\railtex|tleft=1e|
|00001cd0| 78 0d 5c 72 61 69 6c 74 | 65 78 74 72 69 67 68 74 |x.\railt|extright|
|00001ce0| 3d 31 65 78 0d 5c 72 61 | 69 6c 6a 6f 69 6e 61 64 |=1ex.\ra|iljoinad|
|00001cf0| 6a 75 73 74 3d 30 70 74 | 0d 5c 72 61 69 6c 6e 61 |just=0pt|.\railna|
|00001d00| 6d 65 73 65 70 3d 31 65 | 78 0d 0d 5c 69 66 63 61 |mesep=1e|x..\ifca|
|00001d10| 73 65 5c 40 70 74 73 69 | 7a 65 0d 25 20 31 30 20 |se\@ptsi|ze.% 10 |
|00001d20| 70 74 0d 5c 72 61 69 6c | 62 6f 78 68 65 69 67 68 |pt.\rail|boxheigh|
|00001d30| 74 3d 31 36 70 74 0d 5c | 72 61 69 6c 62 6f 78 73 |t=16pt.\|railboxs|
|00001d40| 6b 69 70 3d 32 34 70 74 | 0d 5c 72 61 69 6c 74 65 |kip=24pt|.\railte|
|00001d50| 78 74 75 70 3d 35 70 74 | 0d 5c 72 61 69 6c 6a 6f |xtup=5pt|.\railjo|
|00001d60| 69 6e 73 69 7a 65 3d 31 | 36 70 74 0d 5c 6f 72 0d |insize=1|6pt.\or.|
|00001d70| 25 20 31 31 20 70 74 0d | 5c 72 61 69 6c 62 6f 78 |% 11 pt.|\railbox|
|00001d80| 68 65 69 67 68 74 3d 31 | 36 70 74 0d 5c 72 61 69 |height=1|6pt.\rai|
|00001d90| 6c 62 6f 78 73 6b 69 70 | 3d 32 34 70 74 0d 5c 72 |lboxskip|=24pt.\r|
|00001da0| 61 69 6c 74 65 78 74 75 | 70 3d 35 70 74 0d 5c 72 |ailtextu|p=5pt.\r|
|00001db0| 61 69 6c 6a 6f 69 6e 73 | 69 7a 65 3d 31 36 70 74 |ailjoins|ize=16pt|
|00001dc0| 0d 5c 6f 72 0d 25 20 31 | 32 20 70 74 0d 5c 72 61 |.\or.% 1|2 pt.\ra|
|00001dd0| 69 6c 62 6f 78 68 65 69 | 67 68 74 3d 32 30 70 74 |ilboxhei|ght=20pt|
|00001de0| 0d 5c 72 61 69 6c 62 6f | 78 73 6b 69 70 3d 32 38 |.\railbo|xskip=28|
|00001df0| 70 74 0d 5c 72 61 69 6c | 74 65 78 74 75 70 3d 36 |pt.\rail|textup=6|
|00001e00| 70 74 0d 5c 72 61 69 6c | 6a 6f 69 6e 73 69 7a 65 |pt.\rail|joinsize|
|00001e10| 3d 32 30 70 74 0d 5c 66 | 69 0d 0d 5c 72 61 69 6c |=20pt.\f|i..\rail|
|00001e20| 69 6e 69 74 0d 0d 25 20 | 72 61 69 6c 72 6f 61 64 |init..% |railroad|
|00001e30| 20 66 6f 72 6d 61 74 74 | 69 6e 67 20 70 72 69 6d | formatt|ing prim|
|00001e40| 69 74 69 76 65 73 0d 25 | 0d 25 20 5c 72 61 69 6c |itives.%|.% \rail|
|00001e50| 40 78 20 3a 20 63 75 72 | 72 65 6e 74 20 78 0d 25 |@x : cur|rent x.%|
|00001e60| 20 5c 72 61 69 6c 40 79 | 20 3a 20 63 75 72 72 65 | \rail@y| : curre|
|00001e70| 6e 74 20 79 0d 25 20 5c | 72 61 69 6c 40 65 78 20 |nt y.% \|rail@ex |
|00001e80| 3a 20 63 75 72 72 65 6e | 74 20 65 6e 64 20 78 0d |: curren|t end x.|
|00001e90| 25 20 5c 72 61 69 6c 40 | 73 78 20 3a 20 73 74 61 |% \rail@|sx : sta|
|00001ea0| 72 74 69 6e 67 20 78 20 | 66 6f 72 20 5c 72 61 69 |rting x |for \rai|
|00001eb0| 6c 40 63 72 0d 25 20 5c | 72 61 69 6c 40 72 78 20 |l@cr.% \|rail@rx |
|00001ec0| 3a 20 72 69 67 68 74 6d | 6f 73 74 20 70 72 65 76 |: rightm|ost prev|
|00001ed0| 69 6f 75 73 20 78 20 66 | 6f 72 20 5c 72 61 69 6c |ious x f|or \rail|
|00001ee0| 40 63 72 0d 25 0d 25 20 | 5c 72 61 69 6c 40 74 6d |@cr.%.% |\rail@tm|
|00001ef0| 70 61 20 3a 20 74 65 6d | 70 6f 72 61 72 79 20 63 |pa : tem|porary c|
|00001f00| 6f 75 6e 74 0d 25 20 5c | 72 61 69 6c 40 74 6d 70 |ount.% \|rail@tmp|
|00001f10| 62 20 3a 20 74 65 6d 70 | 6f 72 61 72 79 20 63 6f |b : temp|orary co|
|00001f20| 75 6e 74 0d 25 20 5c 72 | 61 69 6c 40 74 6d 70 63 |unt.% \r|ail@tmpc|
|00001f30| 20 3a 20 74 65 6d 70 6f | 72 61 72 79 20 63 6f 75 | : tempo|rary cou|
|00001f40| 6e 74 0d 25 0d 25 20 5c | 72 61 69 6c 40 70 75 74 |nt.%.% \|rail@put|
|00001f50| 20 3a 20 70 75 74 20 61 | 74 20 28 5c 72 61 69 6c | : put a|t (\rail|
|00001f60| 40 78 2c 5c 72 61 69 6c | 40 79 29 0d 25 0d 25 20 |@x,\rail|@y).%.% |
|00001f70| 5c 72 61 69 6c 40 65 6c | 69 6e 65 20 3a 20 65 6e |\rail@el|ine : en|
|00001f80| 64 20 6c 69 6e 65 20 62 | 79 20 64 72 61 77 69 6e |d line b|y drawin|
|00001f90| 67 20 66 72 6f 6d 20 5c | 72 61 69 6c 40 65 78 20 |g from \|rail@ex |
|00001fa0| 74 6f 20 5c 72 61 69 6c | 40 78 0d 25 0d 25 20 5c |to \rail|@x.%.% \|
|00001fb0| 72 61 69 6c 40 73 65 74 | 79 7b 4c 45 56 45 4c 7d |rail@set|y{LEVEL}|
|00001fc0| 20 3a 20 73 65 74 20 5c | 72 61 69 6c 40 79 20 74 | : set \|rail@y t|
|00001fd0| 6f 20 6c 65 76 65 6c 20 | 4c 45 56 45 4c 0d 0d 5c |o level |LEVEL..\|
|00001fe0| 6e 65 77 63 6f 75 6e 74 | 5c 72 61 69 6c 40 78 0d |newcount|\rail@x.|
|00001ff0| 5c 6e 65 77 63 6f 75 6e | 74 5c 72 61 69 6c 40 79 |\newcoun|t\rail@y|
|00002000| 0d 5c 6e 65 77 63 6f 75 | 6e 74 5c 72 61 69 6c 40 |.\newcou|nt\rail@|
|00002010| 65 78 0d 5c 6e 65 77 63 | 6f 75 6e 74 5c 72 61 69 |ex.\newc|ount\rai|
|00002020| 6c 40 73 78 0d 5c 6e 65 | 77 63 6f 75 6e 74 5c 72 |l@sx.\ne|wcount\r|
|00002030| 61 69 6c 40 72 78 0d 0d | 5c 6e 65 77 63 6f 75 6e |ail@rx..|\newcoun|
|00002040| 74 5c 72 61 69 6c 40 74 | 6d 70 61 0d 5c 6e 65 77 |t\rail@t|mpa.\new|
|00002050| 63 6f 75 6e 74 5c 72 61 | 69 6c 40 74 6d 70 62 0d |count\ra|il@tmpb.|
|00002060| 5c 6e 65 77 63 6f 75 6e | 74 5c 72 61 69 6c 40 74 |\newcoun|t\rail@t|
|00002070| 6d 70 63 0d 0d 5c 64 65 | 66 5c 72 61 69 6c 40 70 |mpc..\de|f\rail@p|
|00002080| 75 74 7b 5c 70 75 74 28 | 5c 6e 75 6d 62 65 72 5c |ut{\put(|\number\|
|00002090| 72 61 69 6c 40 78 2c 5c | 6e 75 6d 62 65 72 5c 72 |rail@x,\|number\r|
|000020a0| 61 69 6c 40 79 29 7d 0d | 0d 5c 64 65 66 5c 72 61 |ail@y)}.|.\def\ra|
|000020b0| 69 6c 40 65 6c 69 6e 65 | 7b 0d 5c 72 61 69 6c 40 |il@eline|{.\rail@|
|000020c0| 74 6d 70 62 3d 5c 72 61 | 69 6c 40 78 0d 5c 61 64 |tmpb=\ra|il@x.\ad|
|000020d0| 76 61 6e 63 65 5c 72 61 | 69 6c 40 74 6d 70 62 20 |vance\ra|il@tmpb |
|000020e0| 62 79 20 2d 5c 72 61 69 | 6c 40 65 78 0d 5c 72 61 |by -\rai|l@ex.\ra|
|000020f0| 69 6c 40 70 75 74 7b 5c | 6c 69 6e 65 28 2d 31 2c |il@put{\|line(-1,|
|00002100| 30 29 7b 5c 6e 75 6d 62 | 65 72 5c 72 61 69 6c 40 |0){\numb|er\rail@|
|00002110| 74 6d 70 62 7d 7d 0d 7d | 0d 0d 5c 64 65 66 5c 72 |tmpb}}.}|..\def\r|
|00002120| 61 69 6c 40 73 65 74 79 | 23 31 7b 0d 5c 72 61 69 |ail@sety|#1{.\rai|
|00002130| 6c 40 79 3d 23 31 0d 5c | 6d 75 6c 74 69 70 6c 79 |l@y=#1.\|multiply|
|00002140| 5c 72 61 69 6c 40 79 20 | 62 79 20 2d 5c 72 61 69 |\rail@y |by -\rai|
|00002150| 6c 40 62 6f 78 73 70 0d | 5c 61 64 76 61 6e 63 65 |l@boxsp.|\advance|
|00002160| 5c 72 61 69 6c 40 79 20 | 62 79 20 2d 5c 72 61 69 |\rail@y |by -\rai|
|00002170| 6c 40 62 6f 78 68 74 0d | 7d 0d 0d 25 20 5c 72 61 |l@boxht.|}..% \ra|
|00002180| 69 6c 40 6c 69 73 74 20 | 3a 20 64 65 63 6c 61 72 |il@list |: declar|
|00002190| 61 74 69 6f 6e 73 20 66 | 6f 72 20 6c 69 73 74 20 |ations f|or list |
|000021a0| 65 6e 76 69 72 6f 6e 6d | 65 6e 74 0d 25 0d 25 20 |environm|ent.%.% |
|000021b0| 5c 72 61 69 6c 70 61 72 | 61 6d 7b 54 45 58 54 7d |\railpar|am{TEXT}|
|000021c0| 20 3a 20 73 65 74 73 20 | 5c 72 61 69 6c 40 6c 69 | : sets |\rail@li|
|000021d0| 73 74 20 74 6f 20 54 45 | 58 54 0d 25 0d 25 20 5c |st to TE|XT.%.% \|
|000021e0| 72 61 69 6c 40 62 65 67 | 69 6e 7b 48 45 49 47 48 |rail@beg|in{HEIGH|
|000021f0| 54 7d 7b 4e 41 4d 45 7d | 20 3a 20 62 65 67 69 6e |T}{NAME}| : begin|
|00002200| 20 61 20 72 61 69 6c 72 | 6f 61 64 20 64 69 61 67 | a railr|oad diag|
|00002210| 72 61 6d 20 6f 66 20 68 | 65 69 67 68 74 20 48 45 |ram of h|eight HE|
|00002220| 49 47 48 54 0d 25 0d 25 | 20 5c 72 61 69 6c 40 65 |IGHT.%.%| \rail@e|
|00002230| 6e 64 20 3a 20 65 6e 64 | 20 61 20 72 61 69 6c 72 |nd : end| a railr|
|00002240| 6f 61 64 20 64 69 61 67 | 72 61 6d 0d 0d 5c 64 65 |oad diag|ram..\de|
|00002250| 66 5c 72 61 69 6c 40 6c | 69 73 74 7b 7d 0d 0d 5c |f\rail@l|ist{}..\|
|00002260| 64 65 66 5c 72 61 69 6c | 70 61 72 61 6d 23 31 7b |def\rail|param#1{|
|00002270| 0d 5c 64 65 66 5c 72 61 | 69 6c 40 6c 69 73 74 7b |.\def\ra|il@list{|
|00002280| 23 31 7d 0d 7d 0d 0d 5c | 6e 65 77 62 6f 78 5c 74 |#1}.}..\|newbox\t|
|00002290| 65 6d 70 62 6f 78 0d 0d | 5c 64 65 66 5c 72 61 69 |empbox..|\def\rai|
|000022a0| 6c 40 62 65 67 69 6e 23 | 31 23 32 7b 0d 5c 62 65 |l@begin#|1#2{.\be|
|000022b0| 67 69 6e 7b 6c 69 73 74 | 7d 7b 7d 7b 5c 72 61 69 |gin{list|}{}{\rai|
|000022c0| 6c 40 6c 69 73 74 7d 0d | 5c 69 74 65 6d 5b 5d 0d |l@list}.|\item[].|
|000022d0| 5c 76 62 6f 78 5c 62 67 | 72 6f 75 70 0d 5c 69 66 |\vbox\bg|roup.\if|
|000022e0| 78 5c 40 65 6d 70 74 79 | 23 32 5c 65 6c 73 65 0d |x\@empty|#2\else.|
|000022f0| 7b 5c 72 61 69 6c 40 6e | 61 6d 65 66 6f 6e 74 20 |{\rail@n|amefont |
|00002300| 23 32 7d 0d 5c 5c 2a 5b | 5c 72 61 69 6c 6e 61 6d |#2}.\\*[|\railnam|
|00002310| 65 73 65 70 5d 5c 6e 6f | 70 61 67 65 62 72 65 61 |esep]\no|pagebrea|
|00002320| 6b 0d 5c 66 69 0d 5c 75 | 6e 69 74 6c 65 6e 67 74 |k.\fi.\u|nitlengt|
|00002330| 68 3d 5c 72 61 69 6c 75 | 6e 69 74 0d 5c 72 61 69 |h=\railu|nit.\rai|
|00002340| 6c 40 74 6d 70 61 3d 23 | 31 0d 5c 6d 75 6c 74 69 |l@tmpa=#|1.\multi|
|00002350| 70 6c 79 5c 72 61 69 6c | 40 74 6d 70 61 20 62 79 |ply\rail|@tmpa by|
|00002360| 20 5c 72 61 69 6c 40 62 | 6f 78 73 70 0d 5c 62 65 | \rail@b|oxsp.\be|
|00002370| 67 69 6e 7b 70 69 63 74 | 75 72 65 7d 28 30 2c 5c |gin{pict|ure}(0,\|
|00002380| 6e 75 6d 62 65 72 5c 72 | 61 69 6c 40 74 6d 70 61 |number\r|ail@tmpa|
|00002390| 29 28 30 2c 2d 5c 6e 75 | 6d 62 65 72 5c 72 61 69 |)(0,-\nu|mber\rai|
|000023a0| 6c 40 74 6d 70 61 29 0d | 5c 72 61 69 6c 40 65 78 |l@tmpa).|\rail@ex|
|000023b0| 3d 30 0d 5c 72 61 69 6c | 40 72 78 3d 30 0d 5c 72 |=0.\rail|@rx=0.\r|
|000023c0| 61 69 6c 40 78 3d 5c 72 | 61 69 6c 40 65 78 74 72 |ail@x=\r|ail@extr|
|000023d0| 61 0d 5c 72 61 69 6c 40 | 73 78 3d 5c 72 61 69 6c |a.\rail@|sx=\rail|
|000023e0| 40 78 0d 5c 72 61 69 6c | 40 73 65 74 79 7b 30 7d |@x.\rail|@sety{0}|
|000023f0| 0d 7d 0d 0d 5c 64 65 66 | 5c 72 61 69 6c 40 65 6e |.}..\def|\rail@en|
|00002400| 64 7b 0d 5c 61 64 76 61 | 6e 63 65 5c 72 61 69 6c |d{.\adva|nce\rail|
|00002410| 40 78 20 62 79 20 5c 72 | 61 69 6c 40 65 78 74 72 |@x by \r|ail@extr|
|00002420| 61 0d 5c 72 61 69 6c 40 | 65 6c 69 6e 65 0d 5c 65 |a.\rail@|eline.\e|
|00002430| 6e 64 7b 70 69 63 74 75 | 72 65 7d 0d 5c 65 67 72 |nd{pictu|re}.\egr|
|00002440| 6f 75 70 0d 5c 65 6e 64 | 7b 6c 69 73 74 7d 0d 7d |oup.\end|{list}.}|
|00002450| 0d 0d 25 20 5c 72 61 69 | 6c 40 74 6f 6b 65 6e 66 |..% \rai|l@tokenf|
|00002460| 6f 6e 74 20 3a 20 66 6f | 72 6d 61 74 20 73 65 74 |ont : fo|rmat set|
|00002470| 75 70 20 66 6f 72 20 5c | 72 61 69 6c 74 6f 6b 65 |up for \|railtoke|
|00002480| 6e 20 69 64 65 6e 74 69 | 66 69 65 72 73 0d 25 0d |n identi|fiers.%.|
|00002490| 25 20 5c 72 61 69 6c 40 | 74 65 72 6d 66 6f 6e 74 |% \rail@|termfont|
|000024a0| 20 3a 20 66 6f 72 6d 61 | 74 20 73 65 74 75 70 20 | : forma|t setup |
|000024b0| 66 6f 72 20 74 65 72 6d | 69 6e 61 6c 73 0d 25 0d |for term|inals.%.|
|000024c0| 25 20 5c 72 61 69 6c 40 | 6e 6f 6e 74 66 6f 6e 74 |% \rail@|nontfont|
|000024d0| 20 3a 20 66 6f 72 6d 61 | 74 20 73 65 74 75 70 20 | : forma|t setup |
|000024e0| 66 6f 72 20 6e 6f 6e 74 | 65 72 6d 69 6e 61 6c 73 |for nont|erminals|
|000024f0| 0d 25 0d 25 20 5c 72 61 | 69 6c 40 61 6e 6e 6f 66 |.%.% \ra|il@annof|
|00002500| 6f 6e 74 20 3a 20 66 6f | 72 6d 61 74 20 73 65 74 |ont : fo|rmat set|
|00002510| 75 70 20 66 6f 72 20 61 | 6e 6e 6f 74 61 74 69 6f |up for a|nnotatio|
|00002520| 6e 73 0d 25 0d 25 20 5c | 72 61 69 6c 40 72 75 6c |ns.%.% \|rail@rul|
|00002530| 65 66 6f 6e 74 20 3a 20 | 66 6f 72 6d 61 74 20 73 |efont : |format s|
|00002540| 65 74 75 70 20 66 6f 72 | 20 72 75 6c 65 20 6e 61 |etup for| rule na|
|00002550| 6d 65 73 0d 25 0d 25 20 | 5c 72 61 69 6c 40 69 6e |mes.%.% |\rail@in|
|00002560| 64 65 78 66 6f 6e 74 20 | 3a 20 66 6f 72 6d 61 74 |dexfont |: format|
|00002570| 20 73 65 74 75 70 20 66 | 6f 72 20 69 6e 64 65 78 | setup f|or index|
|00002580| 20 65 6e 74 72 79 0d 25 | 0d 25 20 5c 72 61 69 6c | entry.%|.% \rail|
|00002590| 74 6f 6b 65 6e 66 6f 6e | 74 7b 54 45 58 54 7d 20 |tokenfon|t{TEXT} |
|000025a0| 3a 20 73 65 74 20 5c 72 | 61 69 6c 74 6f 6b 65 6e |: set \r|ailtoken|
|000025b0| 20 66 6f 72 6d 61 74 20 | 73 65 74 75 70 20 74 6f | format |setup to|
|000025c0| 20 54 45 58 54 0d 25 0d | 25 20 5c 72 61 69 6c 74 | TEXT.%.|% \railt|
|000025d0| 65 72 6d 66 6f 6e 74 7b | 54 45 58 54 7d 20 3a 20 |ermfont{|TEXT} : |
|000025e0| 73 65 74 20 74 65 72 6d | 69 6e 61 6c 20 66 6f 72 |set term|inal for|
|000025f0| 6d 61 74 20 73 65 74 75 | 70 20 74 6f 20 54 45 58 |mat setu|p to TEX|
|00002600| 54 0d 25 0d 25 20 5c 72 | 61 69 6c 6e 6f 6e 74 65 |T.%.% \r|ailnonte|
|00002610| 72 6d 66 6f 6e 74 7b 54 | 45 58 54 7d 20 3a 20 73 |rmfont{T|EXT} : s|
|00002620| 65 74 20 6e 6f 6e 74 65 | 72 6d 69 6e 61 6c 20 66 |et nonte|rminal f|
|00002630| 6f 72 6d 61 74 20 73 65 | 74 75 70 20 74 6f 20 54 |ormat se|tup to T|
|00002640| 45 58 54 0d 25 0d 25 20 | 5c 72 61 69 6c 61 6e 6e |EXT.%.% |\railann|
|00002650| 6f 74 61 74 65 66 6f 6e | 74 7b 54 45 58 54 7d 20 |otatefon|t{TEXT} |
|00002660| 3a 20 73 65 74 20 61 6e | 6e 6f 74 61 74 69 6f 6e |: set an|notation|
|00002670| 20 66 6f 72 6d 61 74 20 | 73 65 74 75 70 20 74 6f | format |setup to|
|00002680| 20 54 45 58 54 0d 25 0d | 25 20 5c 72 61 69 6c 6e | TEXT.%.|% \railn|
|00002690| 61 6d 65 66 6f 6e 74 7b | 54 45 58 54 7d 20 3a 20 |amefont{|TEXT} : |
|000026a0| 73 65 74 20 72 75 6c 65 | 20 6e 61 6d 65 20 66 6f |set rule| name fo|
|000026b0| 72 6d 61 74 20 73 65 74 | 75 70 20 74 6f 20 54 45 |rmat set|up to TE|
|000026c0| 58 54 0d 25 0d 25 20 5c | 72 61 69 6c 69 6e 64 65 |XT.%.% \|railinde|
|000026d0| 78 66 6f 6e 74 7b 54 45 | 58 54 7d 20 3a 20 73 65 |xfont{TE|XT} : se|
|000026e0| 74 20 69 6e 64 65 78 20 | 65 6e 74 72 79 20 66 6f |t index |entry fo|
|000026f0| 72 6d 61 74 20 73 65 74 | 75 70 20 74 6f 20 54 45 |rmat set|up to TE|
|00002700| 58 54 0d 0d 5c 6c 65 74 | 5c 72 61 69 6c 40 74 6f |XT..\let|\rail@to|
|00002710| 6b 65 6e 66 6f 6e 74 3d | 5c 74 74 0d 5c 6c 65 74 |kenfont=|\tt.\let|
|00002720| 5c 72 61 69 6c 40 74 65 | 72 6d 66 6f 6e 74 3d 5c |\rail@te|rmfont=\|
|00002730| 74 74 0d 5c 6c 65 74 5c | 72 61 69 6c 40 6e 6f 6e |tt.\let\|rail@non|
|00002740| 74 66 6f 6e 74 3d 5c 72 | 6d 0d 5c 6c 65 74 5c 72 |tfont=\r|m.\let\r|
|00002750| 61 69 6c 40 61 6e 6e 6f | 66 6f 6e 74 3d 5c 69 74 |ail@anno|font=\it|
|00002760| 0d 5c 6c 65 74 5c 72 61 | 69 6c 40 6e 61 6d 65 66 |.\let\ra|il@namef|
|00002770| 6f 6e 74 3d 5c 69 74 0d | 5c 6c 65 74 5c 72 61 69 |ont=\it.|\let\rai|
|00002780| 6c 40 69 6e 64 65 78 66 | 6f 6e 74 3d 5c 69 74 0d |l@indexf|ont=\it.|
|00002790| 0d 5c 64 65 66 5c 72 61 | 69 6c 74 6f 6b 65 6e 66 |.\def\ra|iltokenf|
|000027a0| 6f 6e 74 23 31 7b 0d 5c | 64 65 66 5c 72 61 69 6c |ont#1{.\|def\rail|
|000027b0| 40 74 6f 6b 65 6e 66 6f | 6e 74 7b 23 31 7d 0d 7d |@tokenfo|nt{#1}.}|
|000027c0| 0d 0d 5c 64 65 66 5c 72 | 61 69 6c 74 65 72 6d 66 |..\def\r|ailtermf|
|000027d0| 6f 6e 74 23 31 7b 0d 5c | 64 65 66 5c 72 61 69 6c |ont#1{.\|def\rail|
|000027e0| 40 74 65 72 6d 66 6f 6e | 74 7b 23 31 7d 0d 7d 0d |@termfon|t{#1}.}.|
|000027f0| 0d 5c 64 65 66 5c 72 61 | 69 6c 6e 6f 6e 74 65 72 |.\def\ra|ilnonter|
|00002800| 6d 66 6f 6e 74 23 31 7b | 0d 5c 64 65 66 5c 72 61 |mfont#1{|.\def\ra|
|00002810| 69 6c 40 6e 6f 6e 74 66 | 6f 6e 74 7b 23 31 7d 0d |il@nontf|ont{#1}.|
|00002820| 7d 0d 0d 5c 64 65 66 5c | 72 61 69 6c 61 6e 6e 6f |}..\def\|railanno|
|00002830| 74 61 74 65 66 6f 6e 74 | 23 31 7b 0d 5c 64 65 66 |tatefont|#1{.\def|
|00002840| 5c 72 61 69 6c 40 61 6e | 6e 6f 66 6f 6e 74 7b 23 |\rail@an|nofont{#|
|00002850| 31 7d 0d 7d 0d 0d 5c 64 | 65 66 5c 72 61 69 6c 6e |1}.}..\d|ef\railn|
|00002860| 61 6d 65 66 6f 6e 74 23 | 31 7b 0d 5c 64 65 66 5c |amefont#|1{.\def\|
|00002870| 72 61 69 6c 40 6e 61 6d | 65 66 6f 6e 74 7b 23 31 |rail@nam|efont{#1|
|00002880| 7d 0d 7d 0d 0d 5c 64 65 | 66 5c 72 61 69 6c 69 6e |}.}..\de|f\railin|
|00002890| 64 65 78 66 6f 6e 74 23 | 31 7b 0d 5c 64 65 66 5c |dexfont#|1{.\def\|
|000028a0| 72 61 69 6c 40 69 6e 64 | 65 78 66 6f 6e 74 7b 23 |rail@ind|exfont{#|
|000028b0| 31 7d 0d 7d 0d 0d 25 20 | 5c 72 61 69 6c 40 74 6f |1}.}..% |\rail@to|
|000028c0| 6b 65 6e 7b 54 45 58 54 | 7d 20 3a 20 66 6f 72 6d |ken{TEXT|} : form|
|000028d0| 61 74 20 74 6f 6b 65 6e | 20 54 45 58 54 0d 25 0d |at token| TEXT.%.|
|000028e0| 25 20 5c 72 61 69 6c 40 | 63 74 6f 6b 65 6e 7b 54 |% \rail@|ctoken{T|
|000028f0| 45 58 54 7d 20 3a 20 66 | 6f 72 6d 61 74 20 74 6f |EXT} : f|ormat to|
|00002900| 6b 65 6e 20 54 45 58 54 | 20 63 65 6e 74 65 72 65 |ken TEXT| centere|
|00002910| 64 0d 25 0d 25 20 5c 72 | 61 69 6c 40 6e 6f 6e 74 |d.%.% \r|ail@nont|
|00002920| 7b 54 45 58 54 7d 20 3a | 20 66 6f 72 6d 61 74 20 |{TEXT} :| format |
|00002930| 6e 6f 6e 74 65 72 6d 69 | 6e 61 6c 20 54 45 58 54 |nontermi|nal TEXT|
|00002940| 0d 25 0d 25 20 5c 72 61 | 69 6c 40 63 6e 6f 6e 74 |.%.% \ra|il@cnont|
|00002950| 7b 54 45 58 54 7d 20 3a | 20 66 6f 72 6d 61 74 20 |{TEXT} :| format |
|00002960| 6e 6f 6e 74 65 72 6d 69 | 6e 61 6c 20 54 45 58 54 |nontermi|nal TEXT|
|00002970| 20 63 65 6e 74 65 72 65 | 64 0d 25 0d 25 20 5c 72 | centere|d.%.% \r|
|00002980| 61 69 6c 40 63 74 65 72 | 6d 7b 54 45 58 54 7d 20 |ail@cter|m{TEXT} |
|00002990| 3a 20 66 6f 72 6d 61 74 | 20 74 65 72 6d 69 6e 61 |: format| termina|
|000029a0| 6c 20 54 45 58 54 0d 25 | 0d 25 20 5c 72 61 69 6c |l TEXT.%|.% \rail|
|000029b0| 40 63 74 65 72 6d 7b 54 | 45 58 54 7d 20 3a 20 66 |@cterm{T|EXT} : f|
|000029c0| 6f 72 6d 61 74 20 74 65 | 72 6d 69 6e 61 6c 20 54 |ormat te|rminal T|
|000029d0| 45 58 54 20 63 65 6e 74 | 65 72 65 64 0d 25 0d 25 |EXT cent|ered.%.%|
|000029e0| 20 5c 72 61 69 6c 40 61 | 6e 6e 6f 74 65 5b 54 45 | \rail@a|nnote[TE|
|000029f0| 58 54 5d 20 3a 20 66 6f | 72 6d 61 74 20 54 45 58 |XT] : fo|rmat TEX|
|00002a00| 54 20 61 73 20 61 6e 6e | 6f 74 61 74 69 6f 6e 0d |T as ann|otation.|
|00002a10| 25 0d 25 20 5c 72 61 69 | 6c 40 61 6e 6e 6f 74 65 |%.% \rai|l@annote|
|00002a20| 62 6f 78 5b 54 45 58 54 | 5d 20 3a 20 61 6e 6e 6f |box[TEXT|] : anno|
|00002a30| 74 61 74 65 20 62 6f 78 | 20 77 69 74 68 20 54 45 |tate box| with TE|
|00002a40| 58 54 0d 0d 5c 64 65 66 | 5c 72 61 69 6c 40 74 6f |XT..\def|\rail@to|
|00002a50| 6b 65 6e 23 31 7b 0d 5c | 65 78 70 61 6e 64 61 66 |ken#1{.\|expandaf|
|00002a60| 74 65 72 5c 40 69 66 75 | 6e 64 65 66 69 6e 65 64 |ter\@ifu|ndefined|
|00002a70| 7b 72 61 69 6c 40 74 40 | 23 31 7d 7b 0d 5c 72 61 |{rail@t@|#1}{.\ra|
|00002a80| 69 6c 40 73 65 74 62 6f | 78 7b 5c 72 61 69 6c 40 |il@setbo|x{\rail@|
|00002a90| 74 65 72 6d 66 6f 6e 74 | 20 23 31 7d 0d 7d 7b 0d |termfont| #1}.}{.|
|00002aa0| 5c 72 61 69 6c 40 73 65 | 74 62 6f 78 7b 5c 72 61 |\rail@se|tbox{\ra|
|00002ab0| 69 6c 40 74 6f 6b 65 6e | 66 6f 6e 74 20 5c 63 73 |il@token|font \cs|
|00002ac0| 6e 61 6d 65 20 72 61 69 | 6c 40 74 40 23 31 5c 65 |name rai|l@t@#1\e|
|00002ad0| 6e 64 63 73 6e 61 6d 65 | 7d 0d 7d 0d 5c 72 61 69 |ndcsname|}.}.\rai|
|00002ae0| 6c 40 6f 76 61 6c 0d 7d | 0d 0d 5c 64 65 66 5c 72 |l@oval.}|..\def\r|
|00002af0| 61 69 6c 40 63 74 6f 6b | 65 6e 23 31 7b 0d 5c 72 |ail@ctok|en#1{.\r|
|00002b00| 61 69 6c 40 73 65 74 62 | 6f 78 7b 5c 72 61 69 6c |ail@setb|ox{\rail|
|00002b10| 40 74 6f 6b 65 6e 66 6f | 6e 74 20 5c 63 73 6e 61 |@tokenfo|nt \csna|
|00002b20| 6d 65 20 72 61 69 6c 40 | 74 40 23 31 5c 65 6e 64 |me rail@|t@#1\end|
|00002b30| 63 73 6e 61 6d 65 7d 0d | 5c 72 61 69 6c 40 63 6f |csname}.|\rail@co|
|00002b40| 76 61 6c 0d 7d 0d 0d 5c | 64 65 66 5c 72 61 69 6c |val.}..\|def\rail|
|00002b50| 40 6e 6f 6e 74 23 31 7b | 0d 5c 72 61 69 6c 40 73 |@nont#1{|.\rail@s|
|00002b60| 65 74 62 6f 78 7b 5c 72 | 61 69 6c 40 6e 6f 6e 74 |etbox{\r|ail@nont|
|00002b70| 66 6f 6e 74 20 23 31 7d | 0d 5c 72 61 69 6c 40 66 |font #1}|.\rail@f|
|00002b80| 72 61 6d 65 0d 7d 0d 0d | 5c 64 65 66 5c 72 61 69 |rame.}..|\def\rai|
|00002b90| 6c 40 63 6e 6f 6e 74 23 | 31 7b 0d 5c 72 61 69 6c |l@cnont#|1{.\rail|
|00002ba0| 40 73 65 74 62 6f 78 7b | 5c 72 61 69 6c 40 6e 6f |@setbox{|\rail@no|
|00002bb0| 6e 74 66 6f 6e 74 20 23 | 31 7d 0d 5c 72 61 69 6c |ntfont #|1}.\rail|
|00002bc0| 40 63 66 72 61 6d 65 0d | 7d 0d 0d 5c 64 65 66 5c |@cframe.|}..\def\|
|00002bd0| 72 61 69 6c 40 74 65 72 | 6d 23 31 7b 0d 5c 72 61 |rail@ter|m#1{.\ra|
|00002be0| 69 6c 40 73 65 74 62 6f | 78 7b 5c 72 61 69 6c 40 |il@setbo|x{\rail@|
|00002bf0| 74 65 72 6d 66 6f 6e 74 | 20 23 31 7d 0d 5c 72 61 |termfont| #1}.\ra|
|00002c00| 69 6c 40 6f 76 61 6c 0d | 7d 0d 0d 5c 64 65 66 5c |il@oval.|}..\def\|
|00002c10| 72 61 69 6c 40 63 74 65 | 72 6d 23 31 7b 0d 5c 72 |rail@cte|rm#1{.\r|
|00002c20| 61 69 6c 40 73 65 74 62 | 6f 78 7b 5c 72 61 69 6c |ail@setb|ox{\rail|
|00002c30| 40 74 65 72 6d 66 6f 6e | 74 20 23 31 7d 0d 5c 72 |@termfon|t #1}.\r|
|00002c40| 61 69 6c 40 63 6f 76 61 | 6c 0d 7d 0d 0d 5c 64 65 |ail@cova|l.}..\de|
|00002c50| 66 5c 72 61 69 6c 40 61 | 6e 6e 6f 74 65 5b 23 31 |f\rail@a|nnote[#1|
|00002c60| 5d 7b 0d 5c 72 61 69 6c | 40 73 65 74 62 6f 78 7b |]{.\rail|@setbox{|
|00002c70| 5c 72 61 69 6c 40 61 6e | 6e 6f 66 6f 6e 74 20 23 |\rail@an|nofont #|
|00002c80| 31 7d 0d 5c 72 61 69 6c | 40 74 65 78 74 0d 7d 0d |1}.\rail|@text.}.|
|00002c90| 0d 5c 64 65 66 5c 72 61 | 69 6c 40 61 6e 6e 6f 74 |.\def\ra|il@annot|
|00002ca0| 65 62 6f 78 5b 23 31 5d | 7b 0d 5c 20 5c 72 61 69 |ebox[#1]|{.\ \rai|
|00002cb0| 6c 40 61 6e 6e 6f 66 6f | 6e 74 20 23 31 0d 7d 0d |l@annofo|nt #1.}.|
|00002cc0| 0d 25 20 5c 72 61 69 6c | 40 62 6f 78 20 3a 20 74 |.% \rail|@box : t|
|00002cd0| 65 6d 70 6f 72 61 72 79 | 20 62 6f 78 20 66 6f 72 |emporary| box for|
|00002ce0| 20 5c 72 61 69 6c 40 6f | 76 61 6c 20 61 6e 64 20 | \rail@o|val and |
|00002cf0| 5c 72 61 69 6c 40 66 72 | 61 6d 65 0d 25 0d 25 20 |\rail@fr|ame.%.% |
|00002d00| 5c 72 61 69 6c 40 73 65 | 74 62 6f 78 7b 54 45 58 |\rail@se|tbox{TEX|
|00002d10| 54 7d 20 3a 20 73 65 74 | 20 5c 72 61 69 6c 40 62 |T} : set| \rail@b|
|00002d20| 6f 78 20 74 6f 20 54 45 | 58 54 2c 20 73 65 74 20 |ox to TE|XT, set |
|00002d30| 5c 72 61 69 6c 40 74 6d | 70 61 20 74 6f 20 77 69 |\rail@tm|pa to wi|
|00002d40| 64 74 68 0d 25 0d 25 20 | 5c 72 61 69 6c 40 6f 76 |dth.%.% |\rail@ov|
|00002d50| 61 6c 20 3a 20 66 6f 72 | 6d 61 74 20 5c 72 61 69 |al : for|mat \rai|
|00002d60| 6c 40 62 6f 78 20 6f 66 | 20 77 69 64 74 68 20 5c |l@box of| width \|
|00002d70| 72 61 69 6c 40 74 6d 70 | 61 20 69 6e 73 69 64 65 |rail@tmp|a inside|
|00002d80| 20 61 6e 20 6f 76 61 6c | 0d 25 0d 25 20 5c 72 61 | an oval|.%.% \ra|
|00002d90| 69 6c 40 63 6f 76 61 6c | 20 3a 20 73 61 6d 65 20 |il@coval| : same |
|00002da0| 61 73 20 5c 72 61 69 6c | 40 6f 76 61 6c 2c 20 62 |as \rail|@oval, b|
|00002db0| 75 74 20 63 65 6e 74 65 | 72 65 64 20 62 65 74 77 |ut cente|red betw|
|00002dc0| 65 65 6e 20 5c 72 61 69 | 6c 40 78 20 61 6e 64 0d |een \rai|l@x and.|
|00002dd0| 25 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |% | |
|00002de0| 5c 72 61 69 6c 40 6d 78 | 0d 25 0d 25 20 5c 72 61 |\rail@mx|.%.% \ra|
|00002df0| 69 6c 40 66 72 61 6d 65 | 20 3a 20 66 6f 72 6d 61 |il@frame| : forma|
|00002e00| 74 20 5c 72 61 69 6c 40 | 62 6f 78 20 6f 66 20 77 |t \rail@|box of w|
|00002e10| 69 64 74 68 20 5c 72 61 | 69 6c 40 74 6d 70 61 20 |idth \ra|il@tmpa |
|00002e20| 69 6e 73 69 64 65 20 61 | 20 66 72 61 6d 65 0d 25 |inside a| frame.%|
|00002e30| 0d 25 20 5c 72 61 69 6c | 40 63 66 72 61 6d 65 20 |.% \rail|@cframe |
|00002e40| 3a 20 73 61 6d 65 20 61 | 73 20 5c 72 61 69 6c 40 |: same a|s \rail@|
|00002e50| 66 72 61 6d 65 2c 20 62 | 75 74 20 63 65 6e 74 65 |frame, b|ut cente|
|00002e60| 72 65 64 20 62 65 74 77 | 65 65 6e 20 5c 72 61 69 |red betw|een \rai|
|00002e70| 6c 40 78 20 61 6e 64 0d | 25 20 20 20 20 20 20 20 |l@x and.|% |
|00002e80| 20 20 20 20 20 20 20 20 | 20 5c 72 61 69 6c 40 6d | | \rail@m|
|00002e90| 78 0d 25 0d 25 20 5c 72 | 61 69 6c 40 74 65 78 74 |x.%.% \r|ail@text|
|00002ea0| 20 3a 20 66 6f 72 6d 61 | 74 20 5c 72 61 69 6c 40 | : forma|t \rail@|
|00002eb0| 62 6f 78 20 6f 66 20 77 | 69 64 74 68 20 5c 72 61 |box of w|idth \ra|
|00002ec0| 69 6c 40 74 6d 70 61 20 | 61 62 6f 76 65 20 74 68 |il@tmpa |above th|
|00002ed0| 65 20 6c 69 6e 65 0d 0d | 5c 6e 65 77 62 6f 78 5c |e line..|\newbox\|
|00002ee0| 72 61 69 6c 40 62 6f 78 | 0d 0d 5c 64 65 66 5c 72 |rail@box|..\def\r|
|00002ef0| 61 69 6c 40 73 65 74 62 | 6f 78 23 31 7b 0d 5c 73 |ail@setb|ox#1{.\s|
|00002f00| 65 74 62 6f 78 5c 72 61 | 69 6c 40 62 6f 78 5c 68 |etbox\ra|il@box\h|
|00002f10| 62 6f 78 7b 5c 73 74 72 | 75 74 23 31 7d 0d 5c 72 |box{\str|ut#1}.\r|
|00002f20| 61 69 6c 40 74 6d 70 61 | 3d 5c 77 64 5c 72 61 69 |ail@tmpa|=\wd\rai|
|00002f30| 6c 40 62 6f 78 0d 5c 64 | 69 76 69 64 65 5c 72 61 |l@box.\d|ivide\ra|
|00002f40| 69 6c 40 74 6d 70 61 20 | 62 79 20 5c 72 61 69 6c |il@tmpa |by \rail|
|00002f50| 75 6e 69 74 0d 7d 0d 0d | 5c 64 65 66 5c 72 61 69 |unit.}..|\def\rai|
|00002f60| 6c 40 6f 76 61 6c 7b 0d | 5c 61 64 76 61 6e 63 65 |l@oval{.|\advance|
|00002f70| 5c 72 61 69 6c 40 78 20 | 62 79 20 5c 72 61 69 6c |\rail@x |by \rail|
|00002f80| 40 62 6f 78 6c 66 0d 5c | 72 61 69 6c 40 65 6c 69 |@boxlf.\|rail@eli|
|00002f90| 6e 65 0d 5c 61 64 76 61 | 6e 63 65 5c 72 61 69 6c |ne.\adva|nce\rail|
|00002fa0| 40 74 6d 70 61 20 62 79 | 20 5c 72 61 69 6c 40 6f |@tmpa by| \rail@o|
|00002fb0| 76 61 6c 73 70 0d 5c 69 | 66 6e 75 6d 5c 72 61 69 |valsp.\i|fnum\rai|
|00002fc0| 6c 40 74 6d 70 61 3c 5c | 72 61 69 6c 40 62 6f 78 |l@tmpa<\|rail@box|
|00002fd0| 68 74 5c 72 61 69 6c 40 | 74 6d 70 61 3d 5c 72 61 |ht\rail@|tmpa=\ra|
|00002fe0| 69 6c 40 62 6f 78 68 74 | 5c 66 69 0d 5c 72 61 69 |il@boxht|\fi.\rai|
|00002ff0| 6c 40 74 6d 70 62 3d 5c | 72 61 69 6c 40 74 6d 70 |l@tmpb=\|rail@tmp|
|00003000| 61 0d 5c 64 69 76 69 64 | 65 5c 72 61 69 6c 40 74 |a.\divid|e\rail@t|
|00003010| 6d 70 62 20 62 79 20 32 | 0d 5c 61 64 76 61 6e 63 |mpb by 2|.\advanc|
|00003020| 65 5c 72 61 69 6c 40 79 | 20 62 79 20 2d 5c 72 61 |e\rail@y| by -\ra|
|00003030| 69 6c 40 62 6f 78 68 68 | 74 0d 5c 72 61 69 6c 40 |il@boxhh|t.\rail@|
|00003040| 70 75 74 7b 5c 6d 61 6b | 65 62 6f 78 28 5c 6e 75 |put{\mak|ebox(\nu|
|00003050| 6d 62 65 72 5c 72 61 69 | 6c 40 74 6d 70 61 2c 5c |mber\rai|l@tmpa,\|
|00003060| 6e 75 6d 62 65 72 5c 72 | 61 69 6c 40 62 6f 78 68 |number\r|ail@boxh|
|00003070| 74 29 7b 5c 62 6f 78 5c | 72 61 69 6c 40 62 6f 78 |t){\box\|rail@box|
|00003080| 7d 7d 0d 5c 61 64 76 61 | 6e 63 65 5c 72 61 69 6c |}}.\adva|nce\rail|
|00003090| 40 79 20 62 79 20 5c 72 | 61 69 6c 40 62 6f 78 68 |@y by \r|ail@boxh|
|000030a0| 68 74 0d 5c 61 64 76 61 | 6e 63 65 5c 72 61 69 6c |ht.\adva|nce\rail|
|000030b0| 40 78 20 62 79 20 5c 72 | 61 69 6c 40 74 6d 70 62 |@x by \r|ail@tmpb|
|000030c0| 0d 5c 72 61 69 6c 40 70 | 75 74 7b 5c 6f 76 61 6c |.\rail@p|ut{\oval|
|000030d0| 28 5c 6e 75 6d 62 65 72 | 5c 72 61 69 6c 40 74 6d |(\number|\rail@tm|
|000030e0| 70 61 2c 5c 6e 75 6d 62 | 65 72 5c 72 61 69 6c 40 |pa,\numb|er\rail@|
|000030f0| 62 6f 78 68 74 29 7d 0d | 5c 61 64 76 61 6e 63 65 |boxht)}.|\advance|
|00003100| 5c 72 61 69 6c 40 78 20 | 62 79 20 5c 72 61 69 6c |\rail@x |by \rail|
|00003110| 40 74 6d 70 62 0d 5c 72 | 61 69 6c 40 65 78 3d 5c |@tmpb.\r|ail@ex=\|
|00003120| 72 61 69 6c 40 78 0d 5c | 61 64 76 61 6e 63 65 5c |rail@x.\|advance\|
|00003130| 72 61 69 6c 40 78 20 62 | 79 20 5c 72 61 69 6c 40 |rail@x b|y \rail@|
|00003140| 62 6f 78 72 74 0d 7d 0d | 0d 5c 64 65 66 5c 72 61 |boxrt.}.|.\def\ra|
|00003150| 69 6c 40 63 6f 76 61 6c | 7b 0d 5c 72 61 69 6c 40 |il@coval|{.\rail@|
|00003160| 74 6d 70 62 3d 5c 72 61 | 69 6c 40 74 6d 70 61 0d |tmpb=\ra|il@tmpa.|
|00003170| 5c 61 64 76 61 6e 63 65 | 5c 72 61 69 6c 40 74 6d |\advance|\rail@tm|
|00003180| 70 62 20 62 79 20 5c 72 | 61 69 6c 40 6f 76 61 6c |pb by \r|ail@oval|
|00003190| 73 70 0d 5c 69 66 6e 75 | 6d 5c 72 61 69 6c 40 74 |sp.\ifnu|m\rail@t|
|000031a0| 6d 70 62 3c 5c 72 61 69 | 6c 40 62 6f 78 68 74 5c |mpb<\rai|l@boxht\|
|000031b0| 72 61 69 6c 40 74 6d 70 | 62 3d 5c 72 61 69 6c 40 |rail@tmp|b=\rail@|
|000031c0| 62 6f 78 68 74 5c 66 69 | 0d 5c 61 64 76 61 6e 63 |boxht\fi|.\advanc|
|000031d0| 65 5c 72 61 69 6c 40 74 | 6d 70 62 20 62 79 20 5c |e\rail@t|mpb by \|
|000031e0| 72 61 69 6c 40 62 6f 78 | 6c 66 0d 5c 61 64 76 61 |rail@box|lf.\adva|
|000031f0| 6e 63 65 5c 72 61 69 6c | 40 74 6d 70 62 20 62 79 |nce\rail|@tmpb by|
|00003200| 20 5c 72 61 69 6c 40 62 | 6f 78 72 74 0d 5c 72 61 | \rail@b|oxrt.\ra|
|00003210| 69 6c 40 74 6d 70 63 3d | 5c 72 61 69 6c 40 6d 78 |il@tmpc=|\rail@mx|
|00003220| 0d 5c 61 64 76 61 6e 63 | 65 5c 72 61 69 6c 40 74 |.\advanc|e\rail@t|
|00003230| 6d 70 63 20 62 79 20 2d | 5c 72 61 69 6c 40 78 0d |mpc by -|\rail@x.|
|00003240| 5c 61 64 76 61 6e 63 65 | 5c 72 61 69 6c 40 74 6d |\advance|\rail@tm|
|00003250| 70 63 20 62 79 20 2d 5c | 72 61 69 6c 40 74 6d 70 |pc by -\|rail@tmp|
|00003260| 62 0d 5c 64 69 76 69 64 | 65 5c 72 61 69 6c 40 74 |b.\divid|e\rail@t|
|00003270| 6d 70 63 20 62 79 20 32 | 0d 5c 69 66 6e 75 6d 5c |mpc by 2|.\ifnum\|
|00003280| 72 61 69 6c 40 74 6d 70 | 63 3e 30 0d 5c 61 64 76 |rail@tmp|c>0.\adv|
|00003290| 61 6e 63 65 5c 72 61 69 | 6c 40 78 20 62 79 20 5c |ance\rai|l@x by \|
|000032a0| 72 61 69 6c 40 74 6d 70 | 63 0d 5c 66 69 0d 5c 72 |rail@tmp|c.\fi.\r|
|000032b0| 61 69 6c 40 6f 76 61 6c | 0d 7d 0d 0d 5c 64 65 66 |ail@oval|.}..\def|
|000032c0| 5c 72 61 69 6c 40 66 72 | 61 6d 65 7b 0d 5c 61 64 |\rail@fr|ame{.\ad|
|000032d0| 76 61 6e 63 65 5c 72 61 | 69 6c 40 78 20 62 79 20 |vance\ra|il@x by |
|000032e0| 5c 72 61 69 6c 40 62 6f | 78 6c 66 0d 5c 72 61 69 |\rail@bo|xlf.\rai|
|000032f0| 6c 40 65 6c 69 6e 65 0d | 5c 61 64 76 61 6e 63 65 |l@eline.|\advance|
|00003300| 5c 72 61 69 6c 40 74 6d | 70 61 20 62 79 20 5c 72 |\rail@tm|pa by \r|
|00003310| 61 69 6c 40 66 72 61 6d | 65 73 70 0d 5c 69 66 6e |ail@fram|esp.\ifn|
|00003320| 75 6d 5c 72 61 69 6c 40 | 74 6d 70 61 3c 5c 72 61 |um\rail@|tmpa<\ra|
|00003330| 69 6c 40 62 6f 78 68 74 | 5c 72 61 69 6c 40 74 6d |il@boxht|\rail@tm|
|00003340| 70 61 3d 5c 72 61 69 6c | 40 62 6f 78 68 74 5c 66 |pa=\rail|@boxht\f|
|00003350| 69 0d 5c 61 64 76 61 6e | 63 65 5c 72 61 69 6c 40 |i.\advan|ce\rail@|
|00003360| 79 20 62 79 20 2d 5c 72 | 61 69 6c 40 62 6f 78 68 |y by -\r|ail@boxh|
|00003370| 68 74 0d 5c 72 61 69 6c | 40 70 75 74 7b 5c 66 72 |ht.\rail|@put{\fr|
|00003380| 61 6d 65 62 6f 78 28 5c | 6e 75 6d 62 65 72 5c 72 |amebox(\|number\r|
|00003390| 61 69 6c 40 74 6d 70 61 | 2c 5c 6e 75 6d 62 65 72 |ail@tmpa|,\number|
|000033a0| 5c 72 61 69 6c 40 62 6f | 78 68 74 29 7b 5c 62 6f |\rail@bo|xht){\bo|
|000033b0| 78 5c 72 61 69 6c 40 62 | 6f 78 7d 7d 0d 5c 61 64 |x\rail@b|ox}}.\ad|
|000033c0| 76 61 6e 63 65 5c 72 61 | 69 6c 40 79 20 62 79 20 |vance\ra|il@y by |
|000033d0| 5c 72 61 69 6c 40 62 6f | 78 68 68 74 0d 5c 61 64 |\rail@bo|xhht.\ad|
|000033e0| 76 61 6e 63 65 5c 72 61 | 69 6c 40 78 20 62 79 20 |vance\ra|il@x by |
|000033f0| 5c 72 61 69 6c 40 74 6d | 70 61 0d 5c 72 61 69 6c |\rail@tm|pa.\rail|
|00003400| 40 65 78 3d 5c 72 61 69 | 6c 40 78 0d 5c 61 64 76 |@ex=\rai|l@x.\adv|
|00003410| 61 6e 63 65 5c 72 61 69 | 6c 40 78 20 62 79 20 5c |ance\rai|l@x by \|
|00003420| 72 61 69 6c 40 62 6f 78 | 72 74 0d 7d 0d 0d 5c 64 |rail@box|rt.}..\d|
|00003430| 65 66 5c 72 61 69 6c 40 | 63 66 72 61 6d 65 7b 0d |ef\rail@|cframe{.|
|00003440| 5c 72 61 69 6c 40 74 6d | 70 62 3d 5c 72 61 69 6c |\rail@tm|pb=\rail|
|00003450| 40 74 6d 70 61 0d 5c 61 | 64 76 61 6e 63 65 5c 72 |@tmpa.\a|dvance\r|
|00003460| 61 69 6c 40 74 6d 70 62 | 20 62 79 20 5c 72 61 69 |ail@tmpb| by \rai|
|00003470| 6c 40 66 72 61 6d 65 73 | 70 0d 5c 69 66 6e 75 6d |l@frames|p.\ifnum|
|00003480| 5c 72 61 69 6c 40 74 6d | 70 62 3c 5c 72 61 69 6c |\rail@tm|pb<\rail|
|00003490| 40 62 6f 78 68 74 5c 72 | 61 69 6c 40 74 6d 70 62 |@boxht\r|ail@tmpb|
|000034a0| 3d 5c 72 61 69 6c 40 62 | 6f 78 68 74 5c 66 69 0d |=\rail@b|oxht\fi.|
|000034b0| 5c 61 64 76 61 6e 63 65 | 5c 72 61 69 6c 40 74 6d |\advance|\rail@tm|
|000034c0| 70 62 20 62 79 20 5c 72 | 61 69 6c 40 62 6f 78 6c |pb by \r|ail@boxl|
|000034d0| 66 0d 5c 61 64 76 61 6e | 63 65 5c 72 61 69 6c 40 |f.\advan|ce\rail@|
|000034e0| 74 6d 70 62 20 62 79 20 | 5c 72 61 69 6c 40 62 6f |tmpb by |\rail@bo|
|000034f0| 78 72 74 0d 5c 72 61 69 | 6c 40 74 6d 70 63 3d 5c |xrt.\rai|l@tmpc=\|
|00003500| 72 61 69 6c 40 6d 78 0d | 5c 61 64 76 61 6e 63 65 |rail@mx.|\advance|
|00003510| 5c 72 61 69 6c 40 74 6d | 70 63 20 62 79 20 2d 5c |\rail@tm|pc by -\|
|00003520| 72 61 69 6c 40 78 0d 5c | 61 64 76 61 6e 63 65 5c |rail@x.\|advance\|
|00003530| 72 61 69 6c 40 74 6d 70 | 63 20 62 79 20 2d 5c 72 |rail@tmp|c by -\r|
|00003540| 61 69 6c 40 74 6d 70 62 | 0d 5c 64 69 76 69 64 65 |ail@tmpb|.\divide|
|00003550| 5c 72 61 69 6c 40 74 6d | 70 63 20 62 79 20 32 0d |\rail@tm|pc by 2.|
|00003560| 5c 69 66 6e 75 6d 5c 72 | 61 69 6c 40 74 6d 70 63 |\ifnum\r|ail@tmpc|
|00003570| 3e 30 0d 5c 61 64 76 61 | 6e 63 65 5c 72 61 69 6c |>0.\adva|nce\rail|
|00003580| 40 78 20 62 79 20 5c 72 | 61 69 6c 40 74 6d 70 63 |@x by \r|ail@tmpc|
|00003590| 0d 5c 66 69 0d 5c 72 61 | 69 6c 40 66 72 61 6d 65 |.\fi.\ra|il@frame|
|000035a0| 0d 7d 0d 0d 5c 64 65 66 | 5c 72 61 69 6c 40 74 65 |.}..\def|\rail@te|
|000035b0| 78 74 7b 0d 5c 61 64 76 | 61 6e 63 65 5c 72 61 69 |xt{.\adv|ance\rai|
|000035c0| 6c 40 78 20 62 79 20 5c | 72 61 69 6c 40 74 65 78 |l@x by \|rail@tex|
|000035d0| 74 6c 66 0d 5c 61 64 76 | 61 6e 63 65 5c 72 61 69 |tlf.\adv|ance\rai|
|000035e0| 6c 40 79 20 62 79 20 5c | 72 61 69 6c 40 74 65 78 |l@y by \|rail@tex|
|000035f0| 74 75 70 0d 5c 72 61 69 | 6c 40 70 75 74 7b 5c 62 |tup.\rai|l@put{\b|
|00003600| 6f 78 5c 72 61 69 6c 40 | 62 6f 78 7d 0d 5c 61 64 |ox\rail@|box}.\ad|
|00003610| 76 61 6e 63 65 5c 72 61 | 69 6c 40 79 20 62 79 20 |vance\ra|il@y by |
|00003620| 2d 5c 72 61 69 6c 40 74 | 65 78 74 75 70 0d 5c 61 |-\rail@t|extup.\a|
|00003630| 64 76 61 6e 63 65 5c 72 | 61 69 6c 40 78 20 62 79 |dvance\r|ail@x by|
|00003640| 20 5c 72 61 69 6c 40 74 | 6d 70 61 0d 5c 61 64 76 | \rail@t|mpa.\adv|
|00003650| 61 6e 63 65 5c 72 61 69 | 6c 40 78 20 62 79 20 5c |ance\rai|l@x by \|
|00003660| 72 61 69 6c 40 74 65 78 | 74 72 74 0d 7d 0d 0d 25 |rail@tex|trt.}..%|
|00003670| 20 61 6c 74 65 72 6e 61 | 74 69 76 65 73 0d 25 0d | alterna|tives.%.|
|00003680| 25 20 5c 72 61 69 6c 40 | 6a 78 20 5c 72 61 69 6c |% \rail@|jx \rail|
|00003690| 40 6a 79 20 3a 20 63 75 | 72 72 65 6e 74 20 6a 6f |@jy : cu|rrent jo|
|000036a0| 69 6e 20 70 6f 69 6e 74 | 0d 25 0d 25 20 5c 72 61 |in point|.%.% \ra|
|000036b0| 69 6c 40 67 78 20 5c 72 | 61 69 6c 40 67 79 20 5c |il@gx \r|ail@gy \|
|000036c0| 72 61 69 6c 40 67 65 78 | 20 5c 72 61 69 6c 40 67 |rail@gex| \rail@g|
|000036d0| 72 78 20 3a 20 67 6c 6f | 62 61 6c 20 76 65 72 73 |rx : glo|bal vers|
|000036e0| 69 6f 6e 73 20 6f 66 20 | 5c 72 61 69 6c 40 78 20 |ions of |\rail@x |
|000036f0| 65 74 63 2c 0d 25 20 20 | 20 20 20 20 20 20 20 20 |etc,.% | |
|00003700| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003710| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 74 | | t|
|00003720| 6f 20 70 61 73 73 20 76 | 61 6c 75 65 73 20 6f 76 |o pass v|alues ov|
|00003730| 65 72 20 67 72 6f 75 70 | 20 63 6c 6f 73 69 6e 67 |er group| closing|
|00003740| 73 0d 25 0d 25 20 5c 72 | 61 69 6c 40 6d 78 20 3a |s.%.% \r|ail@mx :|
|00003750| 20 6d 61 78 69 6d 75 6d | 20 78 20 73 6f 20 66 61 | maximum| x so fa|
|00003760| 72 0d 25 0d 25 20 5c 72 | 61 69 6c 40 73 79 20 3a |r.%.% \r|ail@sy :|
|00003770| 20 73 74 61 72 74 69 6e | 67 20 5c 72 61 69 6c 40 | startin|g \rail@|
|00003780| 79 20 66 6f 72 20 61 6c | 74 65 72 6e 61 74 69 76 |y for al|ternativ|
|00003790| 65 73 0d 25 0d 25 20 5c | 72 61 69 6c 40 6a 70 75 |es.%.% \|rail@jpu|
|000037a0| 74 20 3a 20 70 75 74 20 | 61 74 20 28 5c 72 61 69 |t : put |at (\rai|
|000037b0| 6c 40 6a 78 2c 5c 72 61 | 69 6c 40 6a 79 29 0d 25 |l@jx,\ra|il@jy).%|
|000037c0| 0d 25 20 5c 72 61 69 6c | 40 6a 6f 76 61 6c 5b 50 |.% \rail|@joval[P|
|000037d0| 41 52 54 5d 20 3a 20 70 | 75 74 20 5c 6f 76 61 6c |ART] : p|ut \oval|
|000037e0| 5b 50 41 52 54 5d 20 77 | 69 74 68 20 61 64 6a 75 |[PART] w|ith adju|
|000037f0| 73 74 0d 0d 5c 6e 65 77 | 63 6f 75 6e 74 5c 72 61 |st..\new|count\ra|
|00003800| 69 6c 40 6a 78 0d 5c 6e | 65 77 63 6f 75 6e 74 5c |il@jx.\n|ewcount\|
|00003810| 72 61 69 6c 40 6a 79 0d | 0d 5c 6e 65 77 63 6f 75 |rail@jy.|.\newcou|
|00003820| 6e 74 5c 72 61 69 6c 40 | 67 78 0d 5c 6e 65 77 63 |nt\rail@|gx.\newc|
|00003830| 6f 75 6e 74 5c 72 61 69 | 6c 40 67 79 0d 5c 6e 65 |ount\rai|l@gy.\ne|
|00003840| 77 63 6f 75 6e 74 5c 72 | 61 69 6c 40 67 65 78 0d |wcount\r|ail@gex.|
|00003850| 5c 6e 65 77 63 6f 75 6e | 74 5c 72 61 69 6c 40 67 |\newcoun|t\rail@g|
|00003860| 72 78 0d 0d 5c 6e 65 77 | 63 6f 75 6e 74 5c 72 61 |rx..\new|count\ra|
|00003870| 69 6c 40 73 79 0d 5c 6e | 65 77 63 6f 75 6e 74 5c |il@sy.\n|ewcount\|
|00003880| 72 61 69 6c 40 6d 78 0d | 0d 5c 64 65 66 5c 72 61 |rail@mx.|.\def\ra|
|00003890| 69 6c 40 6a 70 75 74 7b | 0d 5c 70 75 74 28 5c 6e |il@jput{|.\put(\n|
|000038a0| 75 6d 62 65 72 5c 72 61 | 69 6c 40 6a 78 2c 5c 6e |umber\ra|il@jx,\n|
|000038b0| 75 6d 62 65 72 5c 72 61 | 69 6c 40 6a 79 29 0d 7d |umber\ra|il@jy).}|
|000038c0| 0d 0d 5c 64 65 66 5c 72 | 61 69 6c 40 6a 6f 76 61 |..\def\r|ail@jova|
|000038d0| 6c 5b 23 31 5d 7b 0d 5c | 61 64 76 61 6e 63 65 5c |l[#1]{.\|advance\|
|000038e0| 72 61 69 6c 40 6a 78 20 | 62 79 20 5c 72 61 69 6c |rail@jx |by \rail|
|000038f0| 40 6a 6f 69 6e 61 64 6a | 0d 5c 72 61 69 6c 40 6a |@joinadj|.\rail@j|
|00003900| 70 75 74 7b 5c 6f 76 61 | 6c 28 5c 6e 75 6d 62 65 |put{\ova|l(\numbe|
|00003910| 72 5c 72 61 69 6c 40 6a | 6f 69 6e 73 7a 2c 5c 6e |r\rail@j|oinsz,\n|
|00003920| 75 6d 62 65 72 5c 72 61 | 69 6c 40 6a 6f 69 6e 73 |umber\ra|il@joins|
|00003930| 7a 29 5b 23 31 5d 7d 0d | 5c 61 64 76 61 6e 63 65 |z)[#1]}.|\advance|
|00003940| 5c 72 61 69 6c 40 6a 78 | 20 62 79 20 2d 5c 72 61 |\rail@jx| by -\ra|
|00003950| 69 6c 40 6a 6f 69 6e 61 | 64 6a 0d 7d 0d 0d 25 20 |il@joina|dj.}..% |
|00003960| 5c 72 61 69 6c 40 62 61 | 72 73 70 6c 69 74 20 3a |\rail@ba|rsplit :|
|00003970| 20 69 6e 63 6f 6d 69 6e | 67 20 73 70 6c 69 74 20 | incomin|g split |
|00003980| 66 6f 72 20 27 7c 27 0d | 25 0d 25 20 5c 72 61 69 |for '|'.|%.% \rai|
|00003990| 6c 40 70 6c 75 73 73 70 | 6c 69 74 20 3a 20 69 6e |l@plussp|lit : in|
|000039a0| 63 6f 6d 69 6e 67 20 73 | 70 6c 69 74 20 66 6f 72 |coming s|plit for|
|000039b0| 20 27 2b 27 0d 25 0d 0d | 5c 64 65 66 5c 72 61 69 | '+'.%..|\def\rai|
|000039c0| 6c 40 62 61 72 73 70 6c | 69 74 7b 0d 5c 61 64 76 |l@barspl|it{.\adv|
|000039d0| 61 6e 63 65 5c 72 61 69 | 6c 40 6a 79 20 62 79 20 |ance\rai|l@jy by |
|000039e0| 2d 5c 72 61 69 6c 40 6a | 6f 69 6e 68 73 7a 0d 5c |-\rail@j|oinhsz.\|
|000039f0| 72 61 69 6c 40 6a 6f 76 | 61 6c 5b 74 72 5d 0d 5c |rail@jov|al[tr].\|
|00003a00| 61 64 76 61 6e 63 65 5c | 72 61 69 6c 40 6a 78 20 |advance\|rail@jx |
|00003a10| 62 79 20 5c 72 61 69 6c | 40 6a 6f 69 6e 68 73 7a |by \rail|@joinhsz|
|00003a20| 0d 7d 0d 0d 5c 64 65 66 | 5c 72 61 69 6c 40 70 6c |.}..\def|\rail@pl|
|00003a30| 75 73 73 70 6c 69 74 7b | 0d 5c 61 64 76 61 6e 63 |ussplit{|.\advanc|
|00003a40| 65 5c 72 61 69 6c 40 6a | 79 20 62 79 20 2d 5c 72 |e\rail@j|y by -\r|
|00003a50| 61 69 6c 40 6a 6f 69 6e | 68 73 7a 0d 5c 61 64 76 |ail@join|hsz.\adv|
|00003a60| 61 6e 63 65 5c 72 61 69 | 6c 40 6a 78 20 62 79 20 |ance\rai|l@jx by |
|00003a70| 5c 72 61 69 6c 40 6a 6f | 69 6e 73 7a 0d 5c 72 61 |\rail@jo|insz.\ra|
|00003a80| 69 6c 40 6a 6f 76 61 6c | 5b 74 6c 5d 0d 5c 61 64 |il@joval|[tl].\ad|
|00003a90| 76 61 6e 63 65 5c 72 61 | 69 6c 40 6a 78 20 62 79 |vance\ra|il@jx by|
|00003aa0| 20 2d 5c 72 61 69 6c 40 | 6a 6f 69 6e 68 73 7a 0d | -\rail@|joinhsz.|
|00003ab0| 7d 0d 0d 25 20 5c 72 61 | 69 6c 40 61 6c 74 7b 53 |}..% \ra|il@alt{S|
|00003ac0| 50 4c 49 54 7d 20 3a 20 | 73 74 61 72 74 20 61 6c |PLIT} : |start al|
|00003ad0| 74 65 72 6e 61 74 69 76 | 65 73 20 77 69 74 68 20 |ternativ|es with |
|00003ae0| 69 6e 63 6f 6d 69 6e 67 | 20 73 70 6c 69 74 20 53 |incoming| split S|
|00003af0| 50 4c 49 54 0d 25 0d 0d | 5c 64 65 66 5c 72 61 69 |PLIT.%..|\def\rai|
|00003b00| 6c 40 61 6c 74 23 31 7b | 0d 5c 72 61 69 6c 40 73 |l@alt#1{|.\rail@s|
|00003b10| 79 3d 5c 72 61 69 6c 40 | 79 0d 5c 72 61 69 6c 40 |y=\rail@|y.\rail@|
|00003b20| 6a 78 3d 5c 72 61 69 6c | 40 78 0d 5c 72 61 69 6c |jx=\rail|@x.\rail|
|00003b30| 40 6a 79 3d 5c 72 61 69 | 6c 40 79 0d 5c 61 64 76 |@jy=\rai|l@y.\adv|
|00003b40| 61 6e 63 65 5c 72 61 69 | 6c 40 78 20 62 79 20 5c |ance\rai|l@x by \|
|00003b50| 72 61 69 6c 40 6a 6f 69 | 6e 73 7a 0d 5c 72 61 69 |rail@joi|nsz.\rai|
|00003b60| 6c 40 6d 78 3d 30 0d 5c | 6c 65 74 5c 72 61 69 6c |l@mx=0.\|let\rail|
|00003b70| 40 6c 69 73 74 3d 5c 40 | 65 6d 70 74 79 0d 5c 6c |@list=\@|empty.\l|
|00003b80| 65 74 5c 72 61 69 6c 40 | 63 6f 6d 6d 61 3d 5c 40 |et\rail@|comma=\@|
|00003b90| 65 6d 70 74 79 0d 5c 6c | 65 74 5c 72 61 69 6c 40 |empty.\l|et\rail@|
|00003ba0| 73 70 6c 69 74 3d 23 31 | 0d 5c 62 65 67 69 6e 67 |split=#1|.\beging|
|00003bb0| 72 6f 75 70 0d 5c 72 61 | 69 6c 40 73 78 3d 5c 72 |roup.\ra|il@sx=\r|
|00003bc0| 61 69 6c 40 78 0d 5c 72 | 61 69 6c 40 72 78 3d 30 |ail@x.\r|ail@rx=0|
|00003bd0| 0d 7d 0d 0d 25 20 5c 72 | 61 69 6c 40 6e 65 78 74 |.}..% \r|ail@next|
|00003be0| 61 6c 74 7b 46 49 58 7d | 7b 59 7d 20 3a 20 73 74 |alt{FIX}|{Y} : st|
|00003bf0| 61 72 74 20 6e 65 78 74 | 20 61 6c 74 65 72 6e 61 |art next| alterna|
|00003c00| 74 69 76 65 20 61 74 20 | 76 65 72 74 69 63 61 6c |tive at |vertical|
|00003c10| 20 70 6f 73 69 74 69 6f | 6e 20 59 0d 25 20 20 20 | positio|n Y.% |
|00003c20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003c30| 20 20 20 20 20 20 61 6e | 64 20 66 69 78 2d 75 70 | an|d fix-up|
|00003c40| 20 46 49 58 0d 25 0d 0d | 5c 64 65 66 5c 72 61 69 | FIX.%..|\def\rai|
|00003c50| 6c 40 6e 65 78 74 61 6c | 74 23 31 23 32 7b 0d 5c |l@nextal|t#1#2{.\|
|00003c60| 67 6c 6f 62 61 6c 5c 72 | 61 69 6c 40 67 78 3d 5c |global\r|ail@gx=\|
|00003c70| 72 61 69 6c 40 78 0d 5c | 67 6c 6f 62 61 6c 5c 72 |rail@x.\|global\r|
|00003c80| 61 69 6c 40 67 79 3d 5c | 72 61 69 6c 40 79 0d 5c |ail@gy=\|rail@y.\|
|00003c90| 67 6c 6f 62 61 6c 5c 72 | 61 69 6c 40 67 65 78 3d |global\r|ail@gex=|
|00003ca0| 5c 72 61 69 6c 40 65 78 | 0d 5c 67 6c 6f 62 61 6c |\rail@ex|.\global|
|00003cb0| 5c 72 61 69 6c 40 67 72 | 78 3d 5c 72 61 69 6c 40 |\rail@gr|x=\rail@|
|00003cc0| 72 78 0d 5c 65 6e 64 67 | 72 6f 75 70 0d 23 31 0d |rx.\endg|roup.#1.|
|00003cd0| 5c 69 66 6e 75 6d 5c 72 | 61 69 6c 40 67 78 3e 5c |\ifnum\r|ail@gx>\|
|00003ce0| 72 61 69 6c 40 6d 78 5c | 72 61 69 6c 40 6d 78 3d |rail@mx\|rail@mx=|
|00003cf0| 5c 72 61 69 6c 40 67 78 | 5c 66 69 0d 5c 69 66 6e |\rail@gx|\fi.\ifn|
|00003d00| 75 6d 5c 72 61 69 6c 40 | 67 72 78 3e 5c 72 61 69 |um\rail@|grx>\rai|
|00003d10| 6c 40 6d 78 5c 72 61 69 | 6c 40 6d 78 3d 5c 72 61 |l@mx\rai|l@mx=\ra|
|00003d20| 69 6c 40 67 72 78 5c 66 | 69 0d 5c 65 64 65 66 5c |il@grx\f|i.\edef\|
|00003d30| 72 61 69 6c 40 6c 69 73 | 74 7b 5c 72 61 69 6c 40 |rail@lis|t{\rail@|
|00003d40| 6c 69 73 74 5c 72 61 69 | 6c 40 63 6f 6d 6d 61 5c |list\rai|l@comma\|
|00003d50| 6e 75 6d 62 65 72 5c 72 | 61 69 6c 40 67 65 78 3a |number\r|ail@gex:|
|00003d60| 5c 6e 75 6d 62 65 72 5c | 72 61 69 6c 40 67 79 7d |\number\|rail@gy}|
|00003d70| 0d 5c 64 65 66 5c 72 61 | 69 6c 40 63 6f 6d 6d 61 |.\def\ra|il@comma|
|00003d80| 7b 2c 7d 0d 5c 72 61 69 | 6c 40 73 70 6c 69 74 0d |{,}.\rai|l@split.|
|00003d90| 5c 6c 65 74 5c 72 61 69 | 6c 40 73 70 6c 69 74 3d |\let\rai|l@split=|
|00003da0| 5c 40 65 6d 70 74 79 0d | 5c 72 61 69 6c 40 73 65 |\@empty.|\rail@se|
|00003db0| 74 79 7b 23 32 7d 0d 5c | 72 61 69 6c 40 74 6d 70 |ty{#2}.\|rail@tmp|
|00003dc0| 61 3d 5c 72 61 69 6c 40 | 6a 79 0d 5c 61 64 76 61 |a=\rail@|jy.\adva|
|00003dd0| 6e 63 65 5c 72 61 69 6c | 40 74 6d 70 61 20 62 79 |nce\rail|@tmpa by|
|00003de0| 20 2d 5c 72 61 69 6c 40 | 79 0d 5c 61 64 76 61 6e | -\rail@|y.\advan|
|00003df0| 63 65 5c 72 61 69 6c 40 | 74 6d 70 61 20 62 79 20 |ce\rail@|tmpa by |
|00003e00| 2d 5c 72 61 69 6c 40 6a | 6f 69 6e 68 73 7a 0d 5c |-\rail@j|oinhsz.\|
|00003e10| 72 61 69 6c 40 6a 70 75 | 74 7b 5c 6c 69 6e 65 28 |rail@jpu|t{\line(|
|00003e20| 30 2c 2d 31 29 7b 5c 6e | 75 6d 62 65 72 5c 72 61 |0,-1){\n|umber\ra|
|00003e30| 69 6c 40 74 6d 70 61 7d | 7d 0d 5c 72 61 69 6c 40 |il@tmpa}|}.\rail@|
|00003e40| 6a 79 3d 5c 72 61 69 6c | 40 79 0d 5c 61 64 76 61 |jy=\rail|@y.\adva|
|00003e50| 6e 63 65 5c 72 61 69 6c | 40 6a 79 20 62 79 20 5c |nce\rail|@jy by \|
|00003e60| 72 61 69 6c 40 6a 6f 69 | 6e 68 73 7a 0d 5c 61 64 |rail@joi|nhsz.\ad|
|00003e70| 76 61 6e 63 65 5c 72 61 | 69 6c 40 6a 78 20 62 79 |vance\ra|il@jx by|
|00003e80| 20 5c 72 61 69 6c 40 6a | 6f 69 6e 68 73 7a 0d 5c | \rail@j|oinhsz.\|
|00003e90| 72 61 69 6c 40 6a 6f 76 | 61 6c 5b 62 6c 5d 0d 5c |rail@jov|al[bl].\|
|00003ea0| 61 64 76 61 6e 63 65 5c | 72 61 69 6c 40 6a 78 20 |advance\|rail@jx |
|00003eb0| 62 79 20 2d 5c 72 61 69 | 6c 40 6a 6f 69 6e 68 73 |by -\rai|l@joinhs|
|00003ec0| 7a 0d 5c 72 61 69 6c 40 | 65 78 3d 5c 72 61 69 6c |z.\rail@|ex=\rail|
|00003ed0| 40 78 0d 5c 62 65 67 69 | 6e 67 72 6f 75 70 0d 5c |@x.\begi|ngroup.\|
|00003ee0| 72 61 69 6c 40 73 78 3d | 5c 72 61 69 6c 40 78 0d |rail@sx=|\rail@x.|
|00003ef0| 5c 72 61 69 6c 40 72 78 | 3d 30 0d 7d 0d 0d 25 20 |\rail@rx|=0.}..% |
|00003f00| 5c 72 61 69 6c 40 62 61 | 72 6a 6f 69 6e 20 3a 20 |\rail@ba|rjoin : |
|00003f10| 6f 75 74 67 6f 69 6e 67 | 20 6a 6f 69 6e 20 66 6f |outgoing| join fo|
|00003f20| 72 20 66 69 72 73 74 20 | 27 7c 27 20 61 6c 74 65 |r first |'|' alte|
|00003f30| 72 6e 61 74 69 76 65 0d | 25 0d 25 20 5c 72 61 69 |rnative.|%.% \rai|
|00003f40| 6c 40 70 6c 75 73 6a 6f | 69 6e 20 3a 20 6f 75 74 |l@plusjo|in : out|
|00003f50| 67 6f 69 6e 67 20 6a 6f | 69 6e 20 66 6f 72 20 66 |going jo|in for f|
|00003f60| 69 72 73 74 20 27 2b 27 | 20 61 6c 74 65 72 6e 61 |irst '+'| alterna|
|00003f70| 74 69 76 65 0d 25 0d 25 | 20 5c 72 61 69 6c 40 61 |tive.%.%| \rail@a|
|00003f80| 6c 74 6a 6f 69 6e 20 3a | 20 6a 6f 69 6e 20 66 6f |ltjoin :| join fo|
|00003f90| 72 20 73 75 62 73 65 71 | 75 65 6e 74 20 61 6c 74 |r subseq|uent alt|
|00003fa0| 65 72 6e 61 74 69 76 65 | 0d 25 0d 0d 5c 64 65 66 |ernative|.%..\def|
|00003fb0| 5c 72 61 69 6c 40 62 61 | 72 6a 6f 69 6e 7b 0d 5c |\rail@ba|rjoin{.\|
|00003fc0| 69 66 6e 75 6d 5c 72 61 | 69 6c 40 79 3c 5c 72 61 |ifnum\ra|il@y<\ra|
|00003fd0| 69 6c 40 73 79 0d 5c 67 | 6c 6f 62 61 6c 5c 72 61 |il@sy.\g|lobal\ra|
|00003fe0| 69 6c 40 67 65 78 3d 5c | 72 61 69 6c 40 6a 78 0d |il@gex=\|rail@jx.|
|00003ff0| 5c 65 6c 73 65 0d 5c 67 | 6c 6f 62 61 6c 5c 72 61 |\else.\g|lobal\ra|
|00004000| 69 6c 40 67 65 78 3d 5c | 72 61 69 6c 40 65 78 0d |il@gex=\|rail@ex.|
|00004010| 5c 66 69 0d 5c 61 64 76 | 61 6e 63 65 5c 72 61 69 |\fi.\adv|ance\rai|
|00004020| 6c 40 6a 79 20 62 79 20 | 2d 5c 72 61 69 6c 40 6a |l@jy by |-\rail@j|
|00004030| 6f 69 6e 68 73 7a 0d 5c | 72 61 69 6c 40 6a 6f 76 |oinhsz.\|rail@jov|
|00004040| 61 6c 5b 74 6c 5d 0d 5c | 61 64 76 61 6e 63 65 5c |al[tl].\|advance\|
|00004050| 72 61 69 6c 40 6a 78 20 | 62 79 20 2d 5c 72 61 69 |rail@jx |by -\rai|
|00004060| 6c 40 6a 6f 69 6e 68 73 | 7a 0d 5c 69 66 6e 75 6d |l@joinhs|z.\ifnum|
|00004070| 5c 72 61 69 6c 40 79 3c | 5c 72 61 69 6c 40 73 79 |\rail@y<|\rail@sy|
|00004080| 0d 5c 72 61 69 6c 40 61 | 6c 74 6a 6f 69 6e 0d 5c |.\rail@a|ltjoin.\|
|00004090| 66 69 0d 7d 0d 0d 5c 64 | 65 66 5c 72 61 69 6c 40 |fi.}..\d|ef\rail@|
|000040a0| 70 6c 75 73 6a 6f 69 6e | 7b 0d 5c 67 6c 6f 62 61 |plusjoin|{.\globa|
|000040b0| 6c 5c 72 61 69 6c 40 67 | 65 78 3d 5c 72 61 69 6c |l\rail@g|ex=\rail|
|000040c0| 40 65 78 0d 5c 61 64 76 | 61 6e 63 65 5c 72 61 69 |@ex.\adv|ance\rai|
|000040d0| 6c 40 6a 79 20 62 79 20 | 2d 5c 72 61 69 6c 40 6a |l@jy by |-\rail@j|
|000040e0| 6f 69 6e 68 73 7a 0d 5c | 61 64 76 61 6e 63 65 5c |oinhsz.\|advance\|
|000040f0| 72 61 69 6c 40 6a 78 20 | 62 79 20 2d 5c 72 61 69 |rail@jx |by -\rai|
|00004100| 6c 40 6a 6f 69 6e 73 7a | 0d 5c 72 61 69 6c 40 6a |l@joinsz|.\rail@j|
|00004110| 6f 76 61 6c 5b 74 72 5d | 0d 5c 61 64 76 61 6e 63 |oval[tr]|.\advanc|
|00004120| 65 5c 72 61 69 6c 40 6a | 78 20 62 79 20 5c 72 61 |e\rail@j|x by \ra|
|00004130| 69 6c 40 6a 6f 69 6e 68 | 73 7a 0d 7d 0d 0d 5c 64 |il@joinh|sz.}..\d|
|00004140| 65 66 5c 72 61 69 6c 40 | 61 6c 74 6a 6f 69 6e 7b |ef\rail@|altjoin{|
|00004150| 0d 5c 72 61 69 6c 40 65 | 6c 69 6e 65 0d 5c 72 61 |.\rail@e|line.\ra|
|00004160| 69 6c 40 74 6d 70 61 3d | 5c 72 61 69 6c 40 6a 79 |il@tmpa=|\rail@jy|
|00004170| 0d 5c 61 64 76 61 6e 63 | 65 5c 72 61 69 6c 40 74 |.\advanc|e\rail@t|
|00004180| 6d 70 61 20 62 79 20 2d | 5c 72 61 69 6c 40 79 0d |mpa by -|\rail@y.|
|00004190| 5c 61 64 76 61 6e 63 65 | 5c 72 61 69 6c 40 74 6d |\advance|\rail@tm|
|000041a0| 70 61 20 62 79 20 2d 5c | 72 61 69 6c 40 6a 6f 69 |pa by -\|rail@joi|
|000041b0| 6e 68 73 7a 0d 5c 72 61 | 69 6c 40 6a 70 75 74 7b |nhsz.\ra|il@jput{|
|000041c0| 5c 6c 69 6e 65 28 30 2c | 2d 31 29 7b 5c 6e 75 6d |\line(0,|-1){\num|
|000041d0| 62 65 72 5c 72 61 69 6c | 40 74 6d 70 61 7d 7d 0d |ber\rail|@tmpa}}.|
|000041e0| 5c 72 61 69 6c 40 6a 79 | 3d 5c 72 61 69 6c 40 79 |\rail@jy|=\rail@y|
|000041f0| 0d 5c 61 64 76 61 6e 63 | 65 5c 72 61 69 6c 40 6a |.\advanc|e\rail@j|
|00004200| 79 20 62 79 20 5c 72 61 | 69 6c 40 6a 6f 69 6e 68 |y by \ra|il@joinh|
|00004210| 73 7a 0d 5c 61 64 76 61 | 6e 63 65 5c 72 61 69 6c |sz.\adva|nce\rail|
|00004220| 40 6a 78 20 62 79 20 2d | 5c 72 61 69 6c 40 6a 6f |@jx by -|\rail@jo|
|00004230| 69 6e 68 73 7a 0d 5c 72 | 61 69 6c 40 6a 6f 76 61 |inhsz.\r|ail@jova|
|00004240| 6c 5b 62 72 5d 0d 5c 61 | 64 76 61 6e 63 65 5c 72 |l[br].\a|dvance\r|
|00004250| 61 69 6c 40 6a 78 20 62 | 79 20 5c 72 61 69 6c 40 |ail@jx b|y \rail@|
|00004260| 6a 6f 69 6e 68 73 7a 0d | 7d 0d 0d 25 20 5c 72 61 |joinhsz.|}..% \ra|
|00004270| 69 6c 40 65 6c 74 73 70 | 6c 69 74 20 45 58 3a 59 |il@eltsp|lit EX:Y|
|00004280| 3b 20 3a 20 73 70 6c 69 | 74 20 45 58 3a 59 20 69 |; : spli|t EX:Y i|
|00004290| 6e 74 6f 20 5c 72 61 69 | 6c 40 65 78 20 5c 72 61 |nto \rai|l@ex \ra|
|000042a0| 69 6c 40 79 0d 25 0d 25 | 20 5c 72 61 69 6c 40 65 |il@y.%.%| \rail@e|
|000042b0| 6e 64 61 6c 74 7b 4a 4f | 49 4e 7d 20 3a 20 65 6e |ndalt{JO|IN} : en|
|000042c0| 64 20 61 6c 74 65 72 6e | 61 74 69 76 65 73 20 77 |d altern|atives w|
|000042d0| 69 74 68 20 6f 75 74 67 | 6f 69 6e 67 20 6a 6f 69 |ith outg|oing joi|
|000042e0| 6e 20 4a 4f 49 4e 0d 0d | 5c 64 65 66 5c 72 61 69 |n JOIN..|\def\rai|
|000042f0| 6c 40 65 6c 74 73 70 6c | 69 74 23 31 3a 23 32 3b |l@eltspl|it#1:#2;|
|00004300| 7b 5c 72 61 69 6c 40 65 | 78 3d 23 31 5c 72 61 69 |{\rail@e|x=#1\rai|
|00004310| 6c 40 79 3d 23 32 7d 0d | 0d 5c 64 65 66 5c 72 61 |l@y=#2}.|.\def\ra|
|00004320| 69 6c 40 65 6e 64 61 6c | 74 23 31 7b 0d 5c 67 6c |il@endal|t#1{.\gl|
|00004330| 6f 62 61 6c 5c 72 61 69 | 6c 40 67 78 3d 5c 72 61 |obal\rai|l@gx=\ra|
|00004340| 69 6c 40 78 0d 5c 67 6c | 6f 62 61 6c 5c 72 61 69 |il@x.\gl|obal\rai|
|00004350| 6c 40 67 79 3d 5c 72 61 | 69 6c 40 79 0d 5c 67 6c |l@gy=\ra|il@y.\gl|
|00004360| 6f 62 61 6c 5c 72 61 69 | 6c 40 67 65 78 3d 5c 72 |obal\rai|l@gex=\r|
|00004370| 61 69 6c 40 65 78 0d 5c | 67 6c 6f 62 61 6c 5c 72 |ail@ex.\|global\r|
|00004380| 61 69 6c 40 67 72 78 3d | 5c 72 61 69 6c 40 72 78 |ail@grx=|\rail@rx|
|00004390| 0d 5c 65 6e 64 67 72 6f | 75 70 0d 5c 69 66 6e 75 |.\endgro|up.\ifnu|
|000043a0| 6d 5c 72 61 69 6c 40 67 | 78 3e 5c 72 61 69 6c 40 |m\rail@g|x>\rail@|
|000043b0| 6d 78 5c 72 61 69 6c 40 | 6d 78 3d 5c 72 61 69 6c |mx\rail@|mx=\rail|
|000043c0| 40 67 78 5c 66 69 0d 5c | 69 66 6e 75 6d 5c 72 61 |@gx\fi.\|ifnum\ra|
|000043d0| 69 6c 40 67 72 78 3e 5c | 72 61 69 6c 40 6d 78 5c |il@grx>\|rail@mx\|
|000043e0| 72 61 69 6c 40 6d 78 3d | 5c 72 61 69 6c 40 67 72 |rail@mx=|\rail@gr|
|000043f0| 78 5c 66 69 0d 5c 65 64 | 65 66 5c 72 61 69 6c 40 |x\fi.\ed|ef\rail@|
|00004400| 6c 69 73 74 7b 5c 72 61 | 69 6c 40 6c 69 73 74 5c |list{\ra|il@list\|
|00004410| 72 61 69 6c 40 63 6f 6d | 6d 61 5c 6e 75 6d 62 65 |rail@com|ma\numbe|
|00004420| 72 5c 72 61 69 6c 40 67 | 65 78 3a 5c 6e 75 6d 62 |r\rail@g|ex:\numb|
|00004430| 65 72 5c 72 61 69 6c 40 | 67 79 7d 0d 5c 72 61 69 |er\rail@|gy}.\rai|
|00004440| 6c 40 78 3d 5c 72 61 69 | 6c 40 6d 78 0d 5c 72 61 |l@x=\rai|l@mx.\ra|
|00004450| 69 6c 40 6a 78 3d 5c 72 | 61 69 6c 40 78 0d 5c 72 |il@jx=\r|ail@x.\r|
|00004460| 61 69 6c 40 6a 79 3d 5c | 72 61 69 6c 40 73 79 0d |ail@jy=\|rail@sy.|
|00004470| 5c 61 64 76 61 6e 63 65 | 5c 72 61 69 6c 40 6a 78 |\advance|\rail@jx|
|00004480| 20 62 79 20 5c 72 61 69 | 6c 40 6a 6f 69 6e 73 7a | by \rai|l@joinsz|
|00004490| 0d 5c 6c 65 74 5c 72 61 | 69 6c 40 6a 6f 69 6e 3d |.\let\ra|il@join=|
|000044a0| 23 31 0d 5c 40 66 6f 72 | 5c 72 61 69 6c 40 65 6c |#1.\@for|\rail@el|
|000044b0| 74 3a 3d 5c 72 61 69 6c | 40 6c 69 73 74 5c 64 6f |t:=\rail|@list\do|
|000044c0| 7b 0d 5c 65 78 70 61 6e | 64 61 66 74 65 72 5c 72 |{.\expan|dafter\r|
|000044d0| 61 69 6c 40 65 6c 74 73 | 70 6c 69 74 5c 72 61 69 |ail@elts|plit\rai|
|000044e0| 6c 40 65 6c 74 3b 0d 5c | 72 61 69 6c 40 6a 6f 69 |l@elt;.\|rail@joi|
|000044f0| 6e 0d 5c 6c 65 74 5c 72 | 61 69 6c 40 6a 6f 69 6e |n.\let\r|ail@join|
|00004500| 3d 5c 72 61 69 6c 40 61 | 6c 74 6a 6f 69 6e 0d 7d |=\rail@a|ltjoin.}|
|00004510| 0d 5c 72 61 69 6c 40 78 | 3d 5c 72 61 69 6c 40 6d |.\rail@x|=\rail@m|
|00004520| 78 0d 5c 72 61 69 6c 40 | 79 3d 5c 72 61 69 6c 40 |x.\rail@|y=\rail@|
|00004530| 73 79 0d 5c 72 61 69 6c | 40 65 78 3d 5c 72 61 69 |sy.\rail|@ex=\rai|
|00004540| 6c 40 67 65 78 0d 5c 61 | 64 76 61 6e 63 65 5c 72 |l@gex.\a|dvance\r|
|00004550| 61 69 6c 40 78 20 62 79 | 20 5c 72 61 69 6c 40 6a |ail@x by| \rail@j|
|00004560| 6f 69 6e 73 7a 0d 7d 0d | 0d 25 20 5c 72 61 69 6c |oinsz.}.|.% \rail|
|00004570| 40 62 61 72 20 3a 20 73 | 74 61 72 74 20 27 7c 27 |@bar : s|tart '|'|
|00004580| 20 61 6c 74 65 72 6e 61 | 74 69 76 65 73 0d 25 0d | alterna|tives.%.|
|00004590| 25 20 5c 72 61 69 6c 40 | 6e 65 78 74 62 61 72 20 |% \rail@|nextbar |
|000045a0| 3a 20 6e 65 78 74 20 27 | 7c 27 20 61 6c 74 65 72 |: next '||' alter|
|000045b0| 6e 61 74 69 76 65 0d 25 | 0d 25 20 5c 72 61 69 6c |native.%|.% \rail|
|000045c0| 40 65 6e 64 62 61 72 20 | 3a 20 65 6e 64 20 27 7c |@endbar |: end '||
|000045d0| 27 20 61 6c 74 65 72 6e | 61 74 69 76 65 73 0d 25 |' altern|atives.%|
|000045e0| 0d 0d 5c 64 65 66 5c 72 | 61 69 6c 40 62 61 72 7b |..\def\r|ail@bar{|
|000045f0| 0d 5c 72 61 69 6c 40 61 | 6c 74 5c 72 61 69 6c 40 |.\rail@a|lt\rail@|
|00004600| 62 61 72 73 70 6c 69 74 | 0d 7d 0d 0d 5c 64 65 66 |barsplit|.}..\def|
|00004610| 5c 72 61 69 6c 40 6e 65 | 78 74 62 61 72 7b 0d 5c |\rail@ne|xtbar{.\|
|00004620| 72 61 69 6c 40 6e 65 78 | 74 61 6c 74 5c 72 65 6c |rail@nex|talt\rel|
|00004630| 61 78 0d 7d 0d 0d 5c 64 | 65 66 5c 72 61 69 6c 40 |ax.}..\d|ef\rail@|
|00004640| 65 6e 64 62 61 72 7b 0d | 5c 72 61 69 6c 40 65 6e |endbar{.|\rail@en|
|00004650| 64 61 6c 74 5c 72 61 69 | 6c 40 62 61 72 6a 6f 69 |dalt\rai|l@barjoi|
|00004660| 6e 0d 7d 0d 0d 25 20 5c | 72 61 69 6c 40 70 6c 75 |n.}..% \|rail@plu|
|00004670| 73 20 3a 20 73 74 61 72 | 74 20 27 2b 27 20 61 6c |s : star|t '+' al|
|00004680| 74 65 72 6e 61 74 69 76 | 65 73 0d 25 0d 25 20 5c |ternativ|es.%.% \|
|00004690| 72 61 69 6c 40 6e 65 78 | 74 70 6c 75 73 3a 20 6e |rail@nex|tplus: n|
|000046a0| 65 78 74 20 27 2b 27 20 | 61 6c 74 65 72 6e 61 74 |ext '+' |alternat|
|000046b0| 69 76 65 0d 25 0d 25 20 | 5c 72 61 69 6c 40 65 6e |ive.%.% |\rail@en|
|000046c0| 64 70 6c 75 73 20 3a 20 | 65 6e 64 20 27 2b 27 20 |dplus : |end '+' |
|000046d0| 61 6c 74 65 72 6e 61 74 | 69 76 65 73 0d 25 0d 0d |alternat|ives.%..|
|000046e0| 5c 64 65 66 5c 72 61 69 | 6c 40 70 6c 75 73 7b 0d |\def\rai|l@plus{.|
|000046f0| 5c 72 61 69 6c 40 61 6c | 74 5c 72 61 69 6c 40 70 |\rail@al|t\rail@p|
|00004700| 6c 75 73 73 70 6c 69 74 | 0d 7d 0d 0d 5c 64 65 66 |lussplit|.}..\def|
|00004710| 5c 72 61 69 6c 40 6e 65 | 78 74 70 6c 75 73 7b 0d |\rail@ne|xtplus{.|
|00004720| 5c 72 61 69 6c 40 6e 65 | 78 74 61 6c 74 5c 72 61 |\rail@ne|xtalt\ra|
|00004730| 69 6c 40 66 69 78 70 6c | 75 73 0d 7d 0d 0d 5c 64 |il@fixpl|us.}..\d|
|00004740| 65 66 5c 72 61 69 6c 40 | 66 69 78 70 6c 75 73 7b |ef\rail@|fixplus{|
|00004750| 0d 5c 69 66 6e 75 6d 5c | 72 61 69 6c 40 67 79 3c |.\ifnum\|rail@gy<|
|00004760| 5c 72 61 69 6c 40 73 79 | 0d 5c 62 65 67 69 6e 67 |\rail@sy|.\beging|
|00004770| 72 6f 75 70 0d 5c 72 61 | 69 6c 40 78 3d 5c 72 61 |roup.\ra|il@x=\ra|
|00004780| 69 6c 40 67 78 0d 5c 72 | 61 69 6c 40 79 3d 5c 72 |il@gx.\r|ail@y=\r|
|00004790| 61 69 6c 40 67 79 0d 5c | 72 61 69 6c 40 65 78 3d |ail@gy.\|rail@ex=|
|000047a0| 5c 72 61 69 6c 40 67 65 | 78 0d 5c 72 61 69 6c 40 |\rail@ge|x.\rail@|
|000047b0| 72 78 3d 5c 72 61 69 6c | 40 67 72 78 0d 5c 69 66 |rx=\rail|@grx.\if|
|000047c0| 6e 75 6d 5c 72 61 69 6c | 40 78 3c 5c 72 61 69 6c |num\rail|@x<\rail|
|000047d0| 40 72 78 0d 5c 72 61 69 | 6c 40 78 3d 5c 72 61 69 |@rx.\rai|l@x=\rai|
|000047e0| 6c 40 72 78 0d 5c 66 69 | 0d 5c 72 61 69 6c 40 65 |l@rx.\fi|.\rail@e|
|000047f0| 6c 69 6e 65 0d 5c 72 61 | 69 6c 40 6a 78 3d 5c 72 |line.\ra|il@jx=\r|
|00004800| 61 69 6c 40 78 0d 5c 72 | 61 69 6c 40 6a 79 3d 5c |ail@x.\r|ail@jy=\|
|00004810| 72 61 69 6c 40 79 0d 5c | 61 64 76 61 6e 63 65 5c |rail@y.\|advance\|
|00004820| 72 61 69 6c 40 6a 79 20 | 62 79 20 5c 72 61 69 6c |rail@jy |by \rail|
|00004830| 40 6a 6f 69 6e 68 73 7a | 0d 5c 72 61 69 6c 40 6a |@joinhsz|.\rail@j|
|00004840| 6f 76 61 6c 5b 62 72 5d | 0d 5c 61 64 76 61 6e 63 |oval[br]|.\advanc|
|00004850| 65 5c 72 61 69 6c 40 6a | 78 20 62 79 20 5c 72 61 |e\rail@j|x by \ra|
|00004860| 69 6c 40 6a 6f 69 6e 68 | 73 7a 0d 5c 72 61 69 6c |il@joinh|sz.\rail|
|00004870| 40 74 6d 70 61 3d 5c 72 | 61 69 6c 40 73 79 0d 5c |@tmpa=\r|ail@sy.\|
|00004880| 61 64 76 61 6e 63 65 5c | 72 61 69 6c 40 74 6d 70 |advance\|rail@tmp|
|00004890| 61 20 62 79 20 2d 5c 72 | 61 69 6c 40 6a 6f 69 6e |a by -\r|ail@join|
|000048a0| 68 73 7a 0d 5c 61 64 76 | 61 6e 63 65 5c 72 61 69 |hsz.\adv|ance\rai|
|000048b0| 6c 40 74 6d 70 61 20 62 | 79 20 2d 5c 72 61 69 6c |l@tmpa b|y -\rail|
|000048c0| 40 6a 79 0d 5c 72 61 69 | 6c 40 6a 70 75 74 7b 5c |@jy.\rai|l@jput{\|
|000048d0| 6c 69 6e 65 28 30 2c 31 | 29 7b 5c 6e 75 6d 62 65 |line(0,1|){\numbe|
|000048e0| 72 5c 72 61 69 6c 40 74 | 6d 70 61 7d 7d 0d 5c 72 |r\rail@t|mpa}}.\r|
|000048f0| 61 69 6c 40 6a 79 3d 5c | 72 61 69 6c 40 73 79 0d |ail@jy=\|rail@sy.|
|00004900| 5c 61 64 76 61 6e 63 65 | 5c 72 61 69 6c 40 6a 79 |\advance|\rail@jy|
|00004910| 20 62 79 20 2d 5c 72 61 | 69 6c 40 6a 6f 69 6e 68 | by -\ra|il@joinh|
|00004920| 73 7a 0d 5c 61 64 76 61 | 6e 63 65 5c 72 61 69 6c |sz.\adva|nce\rail|
|00004930| 40 6a 78 20 62 79 20 5c | 72 61 69 6c 40 6a 6f 69 |@jx by \|rail@joi|
|00004940| 6e 68 73 7a 0d 5c 72 61 | 69 6c 40 6a 6f 76 61 6c |nhsz.\ra|il@joval|
|00004950| 5b 74 6c 5d 0d 5c 61 64 | 76 61 6e 63 65 5c 72 61 |[tl].\ad|vance\ra|
|00004960| 69 6c 40 6a 79 20 62 79 | 20 5c 72 61 69 6c 40 6a |il@jy by| \rail@j|
|00004970| 6f 69 6e 68 73 7a 0d 5c | 67 6c 6f 62 61 6c 5c 72 |oinhsz.\|global\r|
|00004980| 61 69 6c 40 67 78 3d 5c | 72 61 69 6c 40 6a 78 0d |ail@gx=\|rail@jx.|
|00004990| 5c 67 6c 6f 62 61 6c 5c | 72 61 69 6c 40 67 79 3d |\global\|rail@gy=|
|000049a0| 5c 72 61 69 6c 40 6a 79 | 0d 5c 67 6c 6f 62 61 6c |\rail@jy|.\global|
|000049b0| 5c 72 61 69 6c 40 67 65 | 78 3d 5c 72 61 69 6c 40 |\rail@ge|x=\rail@|
|000049c0| 67 78 0d 5c 67 6c 6f 62 | 61 6c 5c 72 61 69 6c 40 |gx.\glob|al\rail@|
|000049d0| 67 72 78 3d 5c 72 61 69 | 6c 40 72 78 0d 5c 65 6e |grx=\rai|l@rx.\en|
|000049e0| 64 67 72 6f 75 70 0d 5c | 66 69 0d 7d 0d 0d 5c 64 |dgroup.\|fi.}..\d|
|000049f0| 65 66 5c 72 61 69 6c 40 | 65 6e 64 70 6c 75 73 7b |ef\rail@|endplus{|
|00004a00| 0d 5c 72 61 69 6c 40 65 | 6e 64 61 6c 74 5c 72 61 |.\rail@e|ndalt\ra|
|00004a10| 69 6c 40 70 6c 75 73 6a | 6f 69 6e 0d 7d 0d 0d 25 |il@plusj|oin.}..%|
|00004a20| 20 5c 72 61 69 6c 40 63 | 72 7b 59 7d 20 3a 20 63 | \rail@c|r{Y} : c|
|00004a30| 61 72 72 69 61 67 65 20 | 72 65 74 75 72 6e 20 74 |arriage |return t|
|00004a40| 6f 20 76 65 72 74 69 63 | 61 6c 20 70 6f 73 69 74 |o vertic|al posit|
|00004a50| 69 6f 6e 20 59 0d 0d 5c | 64 65 66 5c 72 61 69 6c |ion Y..\|def\rail|
|00004a60| 40 63 72 23 31 7b 0d 5c | 72 61 69 6c 40 74 6d 70 |@cr#1{.\|rail@tmp|
|00004a70| 61 3d 5c 72 61 69 6c 40 | 73 78 0d 5c 61 64 76 61 |a=\rail@|sx.\adva|
|00004a80| 6e 63 65 5c 72 61 69 6c | 40 74 6d 70 61 20 62 79 |nce\rail|@tmpa by|
|00004a90| 20 5c 72 61 69 6c 40 6a | 6f 69 6e 73 7a 0d 5c 69 | \rail@j|oinsz.\i|
|00004aa0| 66 6e 75 6d 5c 72 61 69 | 6c 40 78 3c 5c 72 61 69 |fnum\rai|l@x<\rai|
|00004ab0| 6c 40 74 6d 70 61 5c 72 | 61 69 6c 40 78 3d 5c 72 |l@tmpa\r|ail@x=\r|
|00004ac0| 61 69 6c 40 74 6d 70 61 | 5c 66 69 0d 5c 72 61 69 |ail@tmpa|\fi.\rai|
|00004ad0| 6c 40 65 6c 69 6e 65 0d | 5c 72 61 69 6c 40 6a 78 |l@eline.|\rail@jx|
|00004ae0| 3d 5c 72 61 69 6c 40 78 | 0d 5c 72 61 69 6c 40 6a |=\rail@x|.\rail@j|
|00004af0| 79 3d 5c 72 61 69 6c 40 | 79 0d 5c 61 64 76 61 6e |y=\rail@|y.\advan|
|00004b00| 63 65 5c 72 61 69 6c 40 | 78 20 62 79 20 5c 72 61 |ce\rail@|x by \ra|
|00004b10| 69 6c 40 6a 6f 69 6e 73 | 7a 0d 5c 69 66 6e 75 6d |il@joins|z.\ifnum|
|00004b20| 5c 72 61 69 6c 40 78 3e | 5c 72 61 69 6c 40 72 78 |\rail@x>|\rail@rx|
|00004b30| 5c 72 61 69 6c 40 72 78 | 3d 5c 72 61 69 6c 40 78 |\rail@rx|=\rail@x|
|00004b40| 5c 66 69 0d 5c 61 64 76 | 61 6e 63 65 5c 72 61 69 |\fi.\adv|ance\rai|
|00004b50| 6c 40 6a 79 20 62 79 20 | 2d 5c 72 61 69 6c 40 6a |l@jy by |-\rail@j|
|00004b60| 6f 69 6e 68 73 7a 0d 5c | 72 61 69 6c 40 6a 6f 76 |oinhsz.\|rail@jov|
|00004b70| 61 6c 5b 74 72 5d 0d 5c | 61 64 76 61 6e 63 65 5c |al[tr].\|advance\|
|00004b80| 72 61 69 6c 40 6a 78 20 | 62 79 20 5c 72 61 69 6c |rail@jx |by \rail|
|00004b90| 40 6a 6f 69 6e 68 73 7a | 0d 5c 72 61 69 6c 40 73 |@joinhsz|.\rail@s|
|00004ba0| 65 74 79 7b 23 31 7d 0d | 5c 72 61 69 6c 40 74 6d |ety{#1}.|\rail@tm|
|00004bb0| 70 61 3d 5c 72 61 69 6c | 40 6a 79 0d 5c 61 64 76 |pa=\rail|@jy.\adv|
|00004bc0| 61 6e 63 65 5c 72 61 69 | 6c 40 74 6d 70 61 20 62 |ance\rai|l@tmpa b|
|00004bd0| 79 20 2d 5c 72 61 69 6c | 40 79 0d 5c 61 64 76 61 |y -\rail|@y.\adva|
|00004be0| 6e 63 65 5c 72 61 69 6c | 40 74 6d 70 61 20 62 79 |nce\rail|@tmpa by|
|00004bf0| 20 2d 5c 72 61 69 6c 40 | 62 6f 78 73 70 0d 5c 61 | -\rail@|boxsp.\a|
|00004c00| 64 76 61 6e 63 65 5c 72 | 61 69 6c 40 74 6d 70 61 |dvance\r|ail@tmpa|
|00004c10| 20 62 79 20 2d 5c 72 61 | 69 6c 40 6a 6f 69 6e 68 | by -\ra|il@joinh|
|00004c20| 73 7a 0d 5c 72 61 69 6c | 40 6a 70 75 74 7b 5c 6c |sz.\rail|@jput{\l|
|00004c30| 69 6e 65 28 30 2c 2d 31 | 29 7b 5c 6e 75 6d 62 65 |ine(0,-1|){\numbe|
|00004c40| 72 5c 72 61 69 6c 40 74 | 6d 70 61 7d 7d 0d 5c 72 |r\rail@t|mpa}}.\r|
|00004c50| 61 69 6c 40 6a 79 3d 5c | 72 61 69 6c 40 79 0d 5c |ail@jy=\|rail@y.\|
|00004c60| 61 64 76 61 6e 63 65 5c | 72 61 69 6c 40 6a 79 20 |advance\|rail@jy |
|00004c70| 62 79 20 5c 72 61 69 6c | 40 62 6f 78 73 70 0d 5c |by \rail|@boxsp.\|
|00004c80| 61 64 76 61 6e 63 65 5c | 72 61 69 6c 40 6a 79 20 |advance\|rail@jy |
|00004c90| 62 79 20 5c 72 61 69 6c | 40 6a 6f 69 6e 68 73 7a |by \rail|@joinhsz|
|00004ca0| 0d 5c 61 64 76 61 6e 63 | 65 5c 72 61 69 6c 40 6a |.\advanc|e\rail@j|
|00004cb0| 78 20 62 79 20 2d 5c 72 | 61 69 6c 40 6a 6f 69 6e |x by -\r|ail@join|
|00004cc0| 68 73 7a 0d 5c 72 61 69 | 6c 40 6a 6f 76 61 6c 5b |hsz.\rai|l@joval[|
|00004cd0| 62 72 5d 0d 5c 61 64 76 | 61 6e 63 65 5c 72 61 69 |br].\adv|ance\rai|
|00004ce0| 6c 40 6a 79 20 62 79 20 | 2d 5c 72 61 69 6c 40 6a |l@jy by |-\rail@j|
|00004cf0| 6f 69 6e 68 73 7a 0d 5c | 72 61 69 6c 40 74 6d 70 |oinhsz.\|rail@tmp|
|00004d00| 61 3d 5c 72 61 69 6c 40 | 6a 78 0d 5c 61 64 76 61 |a=\rail@|jx.\adva|
|00004d10| 6e 63 65 5c 72 61 69 6c | 40 74 6d 70 61 20 62 79 |nce\rail|@tmpa by|
|00004d20| 20 2d 5c 72 61 69 6c 40 | 73 78 0d 5c 61 64 76 61 | -\rail@|sx.\adva|
|00004d30| 6e 63 65 5c 72 61 69 6c | 40 74 6d 70 61 20 62 79 |nce\rail|@tmpa by|
|00004d40| 20 2d 5c 72 61 69 6c 40 | 6a 6f 69 6e 68 73 7a 0d | -\rail@|joinhsz.|
|00004d50| 5c 72 61 69 6c 40 6a 70 | 75 74 7b 5c 6c 69 6e 65 |\rail@jp|ut{\line|
|00004d60| 28 2d 31 2c 30 29 7b 5c | 6e 75 6d 62 65 72 5c 72 |(-1,0){\|number\r|
|00004d70| 61 69 6c 40 74 6d 70 61 | 7d 7d 0d 5c 72 61 69 6c |ail@tmpa|}}.\rail|
|00004d80| 40 6a 78 3d 5c 72 61 69 | 6c 40 73 78 0d 5c 61 64 |@jx=\rai|l@sx.\ad|
|00004d90| 76 61 6e 63 65 5c 72 61 | 69 6c 40 6a 78 20 62 79 |vance\ra|il@jx by|
|00004da0| 20 5c 72 61 69 6c 40 6a | 6f 69 6e 68 73 7a 0d 5c | \rail@j|oinhsz.\|
|00004db0| 61 64 76 61 6e 63 65 5c | 72 61 69 6c 40 6a 79 20 |advance\|rail@jy |
|00004dc0| 62 79 20 2d 5c 72 61 69 | 6c 40 6a 6f 69 6e 68 73 |by -\rai|l@joinhs|
|00004dd0| 7a 0d 5c 72 61 69 6c 40 | 6a 6f 76 61 6c 5b 74 6c |z.\rail@|joval[tl|
|00004de0| 5d 0d 5c 61 64 76 61 6e | 63 65 5c 72 61 69 6c 40 |].\advan|ce\rail@|
|00004df0| 6a 78 20 62 79 20 2d 5c | 72 61 69 6c 40 6a 6f 69 |jx by -\|rail@joi|
|00004e00| 6e 68 73 7a 0d 5c 72 61 | 69 6c 40 74 6d 70 61 3d |nhsz.\ra|il@tmpa=|
|00004e10| 5c 72 61 69 6c 40 62 6f | 78 73 70 0d 5c 61 64 76 |\rail@bo|xsp.\adv|
|00004e20| 61 6e 63 65 5c 72 61 69 | 6c 40 74 6d 70 61 20 62 |ance\rai|l@tmpa b|
|00004e30| 79 20 2d 5c 72 61 69 6c | 40 6a 6f 69 6e 73 7a 0d |y -\rail|@joinsz.|
|00004e40| 5c 72 61 69 6c 40 6a 70 | 75 74 7b 5c 6c 69 6e 65 |\rail@jp|ut{\line|
|00004e50| 28 30 2c 2d 31 29 7b 5c | 6e 75 6d 62 65 72 5c 72 |(0,-1){\|number\r|
|00004e60| 61 69 6c 40 74 6d 70 61 | 7d 7d 0d 5c 61 64 76 61 |ail@tmpa|}}.\adva|
|00004e70| 6e 63 65 5c 72 61 69 6c | 40 6a 79 20 62 79 20 2d |nce\rail|@jy by -|
|00004e80| 5c 72 61 69 6c 40 74 6d | 70 61 0d 5c 61 64 76 61 |\rail@tm|pa.\adva|
|00004e90| 6e 63 65 5c 72 61 69 6c | 40 6a 78 20 62 79 20 5c |nce\rail|@jx by \|
|00004ea0| 72 61 69 6c 40 6a 6f 69 | 6e 68 73 7a 0d 5c 72 61 |rail@joi|nhsz.\ra|
|00004eb0| 69 6c 40 6a 6f 76 61 6c | 5b 62 6c 5d 0d 5c 72 61 |il@joval|[bl].\ra|
|00004ec0| 69 6c 40 78 3d 5c 72 61 | 69 6c 40 6a 78 0d 5c 72 |il@x=\ra|il@jx.\r|
|00004ed0| 61 69 6c 40 65 78 3d 5c | 72 61 69 6c 40 78 0d 7d |ail@ex=\|rail@x.}|
|00004ee0| 0d | |. | |
+--------+-------------------------+-------------------------+--------+--------+